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库详解

最新文章

  1. CentOS:设置系统级代理(转)
  2. webrtc中APM(AudioProcessing module)的使用
  3. TP框架常用(一)
  4. python实现查看目录下重复的文件
  5. 搭建 Linux 下 GitLab 服务器
  6. Thinkphp单字母快捷键
  7. Redis 数据结构使用场景
  8. Java项目经验——程序员成长的关键(转载)
  9. (原)caffe中通过图像生成lmdb格式的数据
  10. perl Exporter一些神奇写法
  11. IOS开发-Swift新语言初见
  12. JavaScript的核心
  13. React Native 轻松集成统计功能(Android 篇)
  14. bzoj 3196 && luogu 3380 JoyOI 1730 二逼平衡树 (线段树套Treap)
  15. Uncaught DOMException: Failed to construct 'WebSocket': The URL
  16. JavaScript的自定义属性(事件内获得事件外的变量值)
  17. 三、Java多人博客系统-技术架构
  18. hdu6024 Building Shops(区间dp)
  19. [Scala] [Coursera]
  20. Git rebase使用

热门文章

  1. SSM框架之Mybatis(2)CRUD操作
  2. C# virtual 和 abstract 区别
  3. STC15控制数码管 38译码器
  4. Smobiler针对百度文字识别SDK动态编译与运行
  5. [b0002] Hadoop HDFS cmd常用命令练手
  6. python if语法
  7. 01-day-vuex的使用
  8. 【BZOJ2655】calc(拉格朗日插值)
  9. day65_10_9vue循环指令与组件
  10. LG3205/BZOJ1996 「HNOI2010」合唱队 区间DP