Python中的time函数: 实现时间戳转化和格式化输出
Python中的time库提供了很多与时间相关的函数和方法,其中包括实现时间戳转化和格式化输出的函数。时间戳是指从1970年1月1日零点到现在的秒数,也就是一种时间的表示方式。在Python中,时间戳可以通过time函数库中的time方法获取当前时间。本文将分别介绍如何使用time函数库中的time方法和strftime方法来实现时间戳转化和格式化输出。
时间戳转化
时间戳可以通过time库中的time()函数获取,它返回自1970年1月1日以来的秒数(当前时间)。
示例:
import time timestamp = time.time()
这样就得到了当前时间的时间戳。那么如何将时间戳转化为简单易懂的时间格式呢?
示例:
import time # 将时间戳转化为本地时间 local_time = time.localtime(timestamp) print(local_time) # 将时间戳转化为UTC时间 utc_time = time.gmtime(timestamp) print(utc_time)
可以看到,localtime()方法将时间戳转化为本地时间,而gmtime()方法将时间戳转化为UTC时间。本地时间是指与本地时区相关的时间,而UTC时间是指协调世界时(Universal Time Coordinated)。
这两个方法都返回一个struct_time类型的对象,即时间元组,包含有tm_year、tm_mon、tm_mday、tm_hour、tm_min、tm_sec等属性。通过这些属性,我们可以自由地格式化输出。
格式化输出
上面的方法返回的时间元组可以通过strftime()方法格式化输出为指定的字符串格式。
示例:
import time
# 获取当前时间戳
timestamp = time.time()
print(timestamp)
# 将时间戳转化为字符串
str_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))
print(str_time)
在上面的代码中,time.strftime()方法的第一个参数是格式化字符串,第二个参数是时间元组。
例如,"%Y-%m-%d %H:%M:%S"表示输出格式为“年-月-日 时:分:秒”。
这里列举几个常用的格式化字符串:
%Y 年份,四位数字
%m 月份,两位数字(01表示一月)
%d 日期,两位数字(01表示一号)
%H 小时,24小时制,两位数字
%M 分钟,两位数字
%S 秒,两位数字
%a 星期几的缩写(Sun,Mon,Tue,Wed,Thu,Fri,Sat)
%A 星期几的全称(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday)
%b 月份的缩写(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)
%B 月份的全称(January,February,March,April,May,June,July,August,September,October,November,December)
%c 完整的日期和时间,格式如“Tue Aug 16 21:30:00 2016”。
%x 仅日期,格式为“mm/dd/yyyy”。
%X 仅时间,格式为“hh:mm:ss”。
总结
Python中的time函数提供了很多与时间相关的函数和方法,其中包括实现时间戳转化和格式化输出的函数。时间戳是指从1970年1月1日零点到现在的秒数,可以通过time函数库中的time方法获取。时间戳可以通过localtime()方法转化为本地时间,也可以通过gmtime方法转化为UTC时间。时间元组包含年、月、日、小时、分、秒等属性,可以通过strftime()方法格式化输出为指定的字符串格式。
