Python时间相关函数,解锁时间戳转换和日期格式化
Python提供了很多和时间有关的函数,包括时间戳转换和日期格式化。如果我们需要在编程过程中处理时间,这些函数非常有用。
1. 时间戳转换
时间戳是UNIX时间,它表示从1970年1月1日 00:00:00开始到现在的秒数。在Python中,我们可以使用time模块来处理时间戳。
time.time()函数可以返回当前时间的时间戳:
import time timestamp = time.time() print(timestamp)
输出结果为:
1542039094.683926
如果我们想将时间戳转换为日期格式,可以使用time.localtime()函数。这个函数将时间戳转换为本地时间,返回一个包含本地时间的struct_time对象。
import time timestamp = 1542039094.683926 local_time = time.localtime(timestamp) print(local_time)
输出结果为:
time.struct_time(tm_year=2018, tm_mon=11, tm_mday=12, tm_hour=4, tm_min=38, tm_sec=14, tm_wday=0, tm_yday=316, tm_isdst=0)
我们可以使用struct_time对象的元素来获取具体的日期时间信息,如下:
import time
timestamp = 1542039094.683926
local_time = time.localtime(timestamp)
year = local_time.tm_year
month = local_time.tm_mon
day = local_time.tm_mday
hour = local_time.tm_hour
minute = local_time.tm_min
second = local_time.tm_sec
print("{}/{}/{} {}:{}:{}".format(year, month, day, hour, minute, second))
输出结果为:
2018/11/12 4:38:14
除了time.localtime()函数外,我们还可以使用time.gmtime()函数来将时间戳转换为UTC时间,返回一个包含UTC时间的struct_time对象。
2. 日期格式化
日期格式化是指将日期按照一定的格式输出,如"2018-11-12 04:38:14"、"2018年11月12日 04点38分14秒"。
在Python中,我们可以使用strftime()函数将时间打印成任何格式。
strftime()函数的用法如下:
strftime(format[, t])
其中format表示输出的格式,t表示日期时间对象。如果省略t,则默认使用当前时间。
strftime()函数常用的格式化字符串有以下几个:
- %Y 四位数的年份
- %m 月份(01~12)
- %d 日期(01~31)
- %H 小时(00~23)
- %M 分钟(00~59)
- %S 秒钟(00~59)
例如,将本地时间格式化为"2018-11-12 04:38:14":
import time
local_time = time.localtime()
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(formatted_time)
输出结果为:
2018-11-12 05:11:13
如果我们想将本地时间转换为其他形式,可以根据需要修改format参数即可。
除了strftime()函数外,还有一个strptime()函数可以将字符串转换为日期时间对象。其用法如下:
strptime(date_string, format)
其中date_string是要转换的字符串,format是date_string的格式。
例如,将字符串"2018-11-12 04:38:14"转换为日期时间对象:
import time date_string = "2018-11-12 04:38:14" formatted_time = time.strptime(date_string, "%Y-%m-%d %H:%M:%S") print(formatted_time)
输出结果为:
time.struct_time(tm_year=2018, tm_mon=11, tm_mday=12, tm_hour=4, tm_min=38, tm_sec=14, tm_wday=0, tm_yday=316, tm_isdst=-1)
以上就是Python中时间相关函数的使用方法,它们非常有用,可以方便地处理日期时间相关的需求。
