python基础---7day(日期和时间)

time模块

  time():浮点数,返回自纪元以来到现在的时间,以秒为单位。

>>> import time
>>> print(time.time())
1576805373.3153214

   ctime():可以打印出人类可读格式

>>> import time
>>> print(time.ctime())
Fri Dec 20 09:36:02 2019
>>> date1 = time.time()
>>> date2 = date1 + 15
>>> print(time.ctime(date2))
Fri Dec 20 09:37:44 2019

  gmtime()函数以UTC格式返回当前时间。localtime()会返回应用了当前时区的当前时间。mktime()取一个struct_time实例,将他转换为浮点数表示。

>>> print(time.gmtime())
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=20, tm_hour=2, tm_min=0, tm_sec=20, tm_wday=4, tm_yday=354, tm_isdst=0)
>>> print(time.localtime())
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=20, tm_hour=10, tm_min=0, tm_sec=40, tm_wday=4, tm_yday=354, tm_isdst=0)
>>> print(time.mktime(time.gmtime())) 
1576778505.0
>>> print(time.ctime(time.mktime(time.gmtime())))    #返回的utc国际统一时间
Fri Dec 20 02:03:34 2019
>>> print(time.ctime(time.mktime(time.localtime())))  #返回的是CST时间即中国时间,与国际时间相差8小时
Fri Dec 20 10:06:06 2019

  暂停程序(进程或者线程):

time.sleep(secs)

  解析和格式化时间,strftime()和strptime()

>>> date = time.strftime('%Y-%m-%d')       
>>> print(date)     #此类型的date值为str     
2019-12-20
>>> date1 = time.strptime(date,'%Y-%m-%d') # 将date数据类型转换成元组格式
>>> print(date1)           
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=20, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=354, tm_isdst=-1)

datetime:日期和时间值管理

 1、时间

  time()实例包含hour、minute、second、和microsecond属性,还可以包含时区信息。

 2、日期

  获取当前日期当前时间today(),与time.time()相同

>>> import datetime
>>> print(datetime.date.today())
2019-12-20
>>> test = datetime.date.today()
>>> print(test,type(test))
2019-12-20 <class 'datetime.date'>

  返回ctime()样式的字符串

>>> import datetime
>>> print(datetime.date.today())
2019-12-20
>>> test = datetime.date.today()
>>> print(test,type(test))
2019-12-20 <class 'datetime.date'>
>>> test1 = test.ctime()
>>> print(test1,type(test1))
Fri Dec 20 00:00:00 2019 <class 'str'>

  timetuple()返回时间元组,与time.localtime()兼容。

>>> test3 = test.timetuple()
>>> print(test3)
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=20, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=354, tm_isdst=-1)

  toordinal(),返回日期是是自 0001-01-01 开始的第多少天

>>> test4 = test.toordinal()
>>> print(test4)
737413

  day、month、year

>>> print(test.day)
20
>>> print(test.month)
12
>>> print(test.year) 
2019

  fromtimestamp()时间戳本地日期,等同于time.time()

>>> import time
>>> test = time.time()
>>> import datetime
test1 = datetime.date.fromtimestamp(test)
>>> print(test1)
2019-12-20

  timedelta

  通过对两个datetime对象完成算术运算,或者结合使用datetime和timedelta,可以计算出将来和过去的日期。将两个日期相减可以生成一个timedelta,还可以对某个日期增加或减去一个timedelta来生成另一个日期。timedelta的内部值按日、秒和微秒存储。

  比较值

  日期和时间值都可以使用标准比较操作符来比较,从而确定哪个在前,哪个在后。

>>> d1 = datetime.date.today()
>>> print(d1)
2019-12-20
>>> d2 = datetime.timedelta(days=1)
>>> print(d2)
1 day, 0:00:00
>>> d3 = d1 + d2
>>> print(d3)
2019-12-21

  

原文地址:https://www.cnblogs.com/weidongliu/p/12071645.html