datetime模块中包含五种基本类型:date、time、datetime、timedelta和tzinfo,tz是time zone的缩写,tzinfo用于表示时区信息。

一,date类型

date类型表示日期,是由year、month和day构成的对象

1,初始化date对象

使用date(year,month,day)函数来初始化date对象:

from datetime import date
mydate=date(year,month,day)

2,date对象函数

date对象可以返回日期的year,month和day:

  • mydate.year
  • mydate.month
  • mydate.day

date类型的类型方法 date.today() 用于返回当前的日期

>>> from datetime import date
>>> date.today()
datetime.date(2019, 6, 27)

 3,date对象的格式化

把date对象转换为标准化的字符串 ‘YYYY-MM-DD’

>>> mydate=date(2019,3,1)
>>> mydate.__str__()
'2019-03-01'
>>> mydate.isoformat()
'2019-03-01'
>>> str(mydate)
'2019-03-01'

自定义格式:

  • %Y:4位数表示的年份,YYYY
  • %m:2位数字表示的月份,MM
  • %d:2位数字表示的天份,DD
>>> mydate.strftime('%Y-%m-%d')
'2019-03-01'
>>> mydate.__format__('%Y-%m-%d')
'2019-03-01'

二,time类型

时间类型表示时间,不带日期属性,是由时、分、秒、毫秒和时区构成的对象,毫秒的取值范围是0~999999。

time(hour, minute, second[, microsecond[, tzinfo]])

时间对象的属性:

  • mytime.hour
  • mytime.minute
  • mytime.second
  • mytime.microsecond
  • mytime.tzinfo

时间对象的格式化:

  • %H:2位数字表示的24小时制
  • %I:2位数字表示的12小时制
  • %M:两位数字表示的分钟
  • %S:2位数字表示的秒
  • %f:6位数字表示的毫秒

三,datetime类型

datetime类型既包括日期,也包括时间,是由日期和时间构成的类型:

datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])

datetime对象的属性:year、month、day、hour、minute、second、microsecond和tzinfo。

datetime对象的函数:

  • mydatetime.date()
  • mydatetime.time(),不带time zone,或者认为time zone是None
  • mydatetime.timetz(),带有time zone

当前的日期和时间

from datetime import datetime
datetime.today()
datetime.utcnow()
datetime.now([tz])

四,timedelta类型

timedelta对象表示的是一个期间,是两个日期或时间之间的差值。注意,参数中没有年份。

datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

通过timedelta()来计算日期的增加或减少:

>>> from datetime import timedelta
>>> date(2019,3,1) + timedelta(days = 1)
datetime.date(2019, 3, 2)
>>> date(2019,4,1) + timedelta(days = -1)
datetime.date(2019, 3, 31)

五,strftime() 和 strptime()

date、time和datetime对象都有函数strftime(format),用于把日期和时间转换为具有特定格式的字符串,而类方法 datetime.strptime(date_string, format),用于把格式化的字符串转换为日期和时间类型。

举个例子,把字符串转为date类型:

>>> import datetime
>>> date_str = '2017-01-01'
>>> datetime.datetime.strptime(date_str,'%Y-%m-%d').date()
datetime.date(2017, 1, 1)

参考文档:

8.1. datetime — Basic date and time types

【Python】datetime库详解

Python 学习 第15篇:日期和时间的更多相关文章

  1. Python学习(12)日期和时间

    目录 Python 日期和时间 时间元组 获取当前时间 获取格式化时间 格式化日历 获取某月日历 Time模块 日历模块 其他相关模块和函数 Python 日期和时间 Python 程序能用很多方式处 ...

  2. 吴裕雄--天生自然python学习笔记:Python3 日期和时间

    Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间间隔是以秒为单位的浮点小数. ...

  3. Python 学习 第十篇 CMDB用户权限管理

    Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...

  4. Python学习笔记进阶篇——总览

    Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Pyth ...

  5. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  6. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  7. python 学习笔记 13 -- 经常使用的时间模块之time

    Python 没有包括相应日期和时间的内置类型.只是提供了3个相应的模块,能够採用多种表示管理日期和时间值: *    time 模块由底层C库提供与时间相关的函数.它包括一些函数用于获取时钟时间和处 ...

  8. 《Javascript权威指南》13号学习笔记:使用日期和时间

    一.创Date示例 1.Date类的方法和属性是非常不静,故,申请书Date属性和方法之前.必须创建Date类的实例. var date = new Date();  //以当前日期和时间创建实例. ...

  9. python:如何获取当前的日期和时间

    # coding=utf-8 import datetime import time print ("格式参数:") print (" %a 星期几的简写") ...

随机推荐

  1. oracle学习笔记(二十一) 程序包

    程序包 之前我们调用的dbms_output.put_line(''),dbms_output就是一个程序包 程序包创建语法 1. 声明程序包 --声明程序包中的过程,函数,自定义的类型 --程序包里 ...

  2. VS中常用C#代码段快速输入总结

    转自:https://blog.csdn.net/a980433875/article/details/12231673 Visual Studio 中有很多代码段都可以直接简写然后按TAB快速输入编 ...

  3. 深入C#并行编程(2) -- 使用线程

    一.可以使用位于命名空间System.Threading中的Thrad类开启线程: //声明一个新的线程 Thread myThread = new Thread(LoopFunc); //传递一个T ...

  4. LinuxShell脚本——选择结构

    LinuxShell脚本——选择结构 摘要:本文主要学习了Shell脚本中的选择结构. if-else语句 基本语法 最简单的用法就是只使用if语句,它的语法格式为: if 条件 then 命令 fi ...

  5. 函数的防抖---js

    执行规定一段时间后执行 <input type="text" id="inp" /> <script> var oInp = docum ...

  6. [转]Redis之(一)初识Redis

    原文地址:http://blog.csdn.net/u012152619/article/details/52550315 Redis之(一)初识Redis 标签: Redisredis-server ...

  7. 告诉你一些DBA求职面试技巧

    告诉你一些DBA求职面试技巧 要自信!永远不要低估你的能力.如果你不了解什么问题的答案,承认它.重点放在你找出答案的能力和你学习的意愿. 不要自大!是的,你可能过于自信而被认为是骄傲的.轻率的,甚至是 ...

  8. Python—端口检测(socket)

    基于python检测端口是否在使用 原理:创建一个socket服务,连接对应的 ip:port ,如果能够连接,说明端口被占用:若端口可用,则不可连接. #!/usr/bin/evn python # ...

  9. selenium python 脚本不支持中文问题

    在 python shell 中执行以下脚本: ...... dr.find_element_by_xpath("//a[test()='查看']") ...... 点击 Run ...

  10. 如何让table中td与四周有间距

    如何让table中td与四周有间距 方法一 在td下再添加一个会计元素 <tr> <td>第2节</td> <td>语文</td> < ...