python模块--time & datetime

time模块

#获取当前时间的时间戳
import time 
>>> time.time()
1535004894.0959966   

#日期字符串转化成时间戳
>>> t=time.strptime('201629','%Y%m%d')   #字符串解析成时间元组
>>> t
time.struct_time(tm_year=2016, tm_mon=2, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=40, tm_isdst=-1) 
>>> time.mktime(t)         #时间元组转化成时间戳
1454947200.0

#时间戳转化成时间字符串 
>>> stamp=time.time()
>>> stamp
1535001568.6361084
>>> t_tuple = time.localtime(stamp)           #时间戳转化为时间元组
>>> t_tuple
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=23, tm_hour=13, tm_min=19, tm_sec=28, tm_wday=3, tm_yday=235, tm_isdst=0)
>>>
>>> time.strftime('%Y%m%d',t_tuple)
'20180823'
>>> time.strftime('%Y-%m-%d %H:%M:%S',t_tuple)    #时间元组转化为时间字符串
'2018-08-23 13:19:28'

datetime模块

#获取当前日期和时间
>>> datetime.datetime.now()
datetime.datetime(2018, 8, 23, 13, 31, 10, 274590)
>>> datetime.datetime.now().date()
datetime.date(2018, 8, 23)
>>> datetime.date.today()
datetime.date(2018, 8, 23)
>>> datetime.datetime.now().time()
datetime.time(14, 18, 38, 22754)

#日期转换
#字符串转化成datetime
>>> datetime.datetime.strptime('20160601','%Y%m%d')
datetime.datetime(2016, 6, 1, 0, 0)
>>> datetime.datetime.strptime('201661','%Y%m%d')
datetime.datetime(2016, 6, 1, 0, 0)

#datetime转化成字符串
>>> datetime.date.today().strftime('%Y%m%d')
'20180823'
>>> datetime.datetime.strftime(datetime.datetime(2016, 6, 1),'%Y%m%d')
'20160601'

#datetime转化成时间元组
>>> datetime.date(2016,6,1).timetuple()
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=153, tm_isdst=-1)
 >>> datetime.datetime.now().timetuple()
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=23, tm_hour=14, tm_min=45, tm_sec=28, tm_wday=3, tm_yday=235, tm_isdst=-1)

#datetime转化成时间戳
>>> datetime.datetime.now().timestamp()
1535008475.23429
>>> datetime.datetime(2018,1,1).timestamp()
1514736000.0

#时间戳转化成datetime
>>> datetime.datetime.fromtimestamp(time.time())
datetime.datetime(2018, 8, 23, 14, 48, 55, 47316)
>>> datetime.datetime.fromtimestamp(1451577600)
datetime.datetime(2016, 1, 1, 0, 0)

#日期加减
>>> datetime.date.today()-datetime.timedelta(days=2)   
datetime.date(2018, 8, 21)
>>> datetime.date.today()+datetime.timedelta(days=2)
datetime.date(2018, 8, 25)
>>> datetime.date(2017,6,1)+datetime.timedelta(days=2)
datetime.date(2017, 6, 3)

#替换时间
>>> datetime.datetime.now()
datetime.datetime(2018, 8, 23, 14, 55, 9, 312979)
>>> datetime.datetime.now().replace(day=31,hour=2)
datetime.datetime(2018, 8, 31, 2, 55, 28, 340220)
原文地址:https://www.cnblogs.com/xiaobaozi-95/p/9708014.html