时间的表示方法有三种:
import time #导入time模块d = time.time() # 显示当前的时间戳d Out[16]: 1524570062.944023time.localtime(d) #把时间戳转换为含9个元素的元组,转换为当地时间Out[17]: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=19, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=114, tm_isdst=0) time.gmtime(d) #把时间戳转换为含9个元素的元组,转换为UTC时间Out[18]: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=11, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=114, tm_isdst=0) ld = time.localtime(d) #ld.tm_year #转换的元组,可以根据需要单独计算对应的时间Out[20]: 2018time.mktime(ld) # 把元组在转换回时间戳Out[21]: 1524570062.0
备注:UTC时间为格林威治时间,比东八区晚8个小时!
时间戳-------->格式化元组---------->格式化字符串
help(time.strftime) Help on built-in function strftime in module time: strftime(...) strftime(format[, tuple]) -> string #函数的格式使用 Convert a time tuple to a string according to a format specification. See the library reference manual for formatting codes. When the time tuple is not present, current time as returned by localtime() is used. Commonly used format codes: %Y Year with century as a decimal number. %m Month as a decimal number [01,12]. %d Day of the month as a decimal number [01,31]. %H Hour (24-hour clock) as a decimal number [00,23]. %M Minute as a decimal number [00,59]. %S Second as a decimal number [00,61]. %z Time zone offset from UTC. %a Locale's abbreviated weekday name. %A Locale's full weekday name. %b Locale's abbreviated month name. %B Locale's full month name. %c Locale's appropriate date and time representation. %I Hour (12-hour clock) as a decimal number [01,12]. %p Locale's equivalent of either AM or PM. Other codes may be available on your platform. See documentation for the C library strftime function.
ld #格式化元组的数据Out[22]: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=19, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=114, tm_isdst=0) time.strftime("%Y-%m-%d %H:%M:%S", ld) Out[25]: '2018-04-24 19:41:02'time.strftime("%Y-%m-%d %X", ld) Out[26]: '2018-04-24 19:41:02'time.strftime("%Y-%m-%d %X %p", ld) #时间戳转换为格式化元组Out[27]: '2018-04-24 19:41:02 PM'#字符串转换为格式化元组,注意格式对应time.strptime('2018-04-24 19:41:02 PM',"%Y-%m-%d %H:%M:%S %p") Out[32]: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=19, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=114, tm_isdst=-1)
help(time.ctime) Help on built-in function ctime in module time: ctime(...) ctime(seconds) -> string Convert a time in seconds since the Epoch to a string in local time. This is equivalent to asctime(localtime(seconds)). When the time tuple is not present, current time as returned by localtime() is used. time.ctime(time.time()) Out[34]: 'Tue Apr 24 20:02:46 2018'
help(time.asctime) Help on built-in function asctime in module time: asctime(...) asctime([tuple]) -> string Convert a time tuple to a string, e.g. 'Sat Jun 06 16:26:11 1998'. When the time tuple is not present, current time as returned by localtime() is used. time.asctime(ld) Out[36]: 'Tue Apr 24 19:41:02 2018'
dateimte模块对time模块进行了封装,提供了更多功能的接口:
在csdn上看到一个博客,讲的蛮详细的,博主禁止转载,因此附上链接。datetime模块