Python 学习 第15篇:日期和时间

系统 1537 0

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


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论