Python怎样使用函数进行日期时间转换?
Python是一种很受欢迎的编程语言,既能够进行数据分析,又能够进行web开发。日期和时间处理是每一个程序员经常会用到的,Python提供了很多内置函数和模块,可用于对日期和时间进行操作。在本篇文章中,我们将介绍如何使用Python中的函数进行日期时间转换。
一、日期时间格式化函数
Python的strftime()函数可用于将日期时间转换为特定格式的字符串,该函数的使用如下所示:
strftime(format[, tuple])
其中,format为字符串,指定返回的日期和时间格式。tuple表示传入的日期时间数据,可以省略,如果省略则默认使用当前时间。
strftime()函数中常用的格式化字符如下:
%Y 年份,就是四位的数字年份,例如:2020
%m 月份,两位数表示,例如:01代表一月,12代表十二月
%d 日期,两位数表示,例如:01代表1日,31代表31日
%H 小时,24小时制,两位数表示,例如:00代表午夜12点,23代表晚上11点
%M 分钟,两位数表示,例如:00代表0分,59代表59分
%S 秒数,两位数表示,例如:00代表0秒,59代表59秒
例如:
import datetime
now = datetime.datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))
上述代码会获得系统当前的日期和时间,并将其转化成为字符串格式,如“2021-08-18 11:54:23”。
二、时间戳转换函数
Python的time模块提供了一个常用的函数——time(),该函数返回当前时间的时间戳,即自1970年1月1日午夜之后经过的秒数。
时间戳可通过Python中的时间戳转换函数——strftime()来转换成为某特定格式的日期和时间字符串。下面是一个示例:
import time
now_timestamp = time.time()
print(now_timestamp)
# 将时间戳转换成为本地时间
local_time = time.localtime(now_timestamp)
print(time.strftime("%Y-%m-%d %H:%M:%S", local_time))
# 将时间戳转换成为UTC时间
utc_time = time.gmtime(now_timestamp)
print(time.strftime("%Y-%m-%d %H:%M:%S", utc_time))
在示例中,我们使用了Python中的time()函数获得当前时间的时间戳,并分别使用time.localtime()和time.gmtime()函数将时间戳转换成为本地时间和UTC时间。最后,我们使用strftime()函数将这些时间转换成为带有特定格式的字符串。
三、字符串转换成为日期时间对象
Python提供了datetime模块,其中包含了一个strptime()函数,该函数可用于将特定格式的字符串转换成为datetime对象。下面是使用strftime()和strptime()函数的示例:
import datetime
str_time = '2019-12-31 23:59:59'
dt = datetime.datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S')
print(dt)
print(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)
在示例中,我们使用了strptime()函数将一个字符串转换成为一个datetime对象。strptime()函数有两个参数, 个参数指定待转换的字符串,第二个参数指定字符串的格式。在此示例中,字符串的格式为“%Y-%m-%d %H:%M:%S”,因此必须指定对应的格式参数。
四、时区转换
在操作日期和时间时,经常需要将时区进行转换。Python的pytz模块可以用来进行时区转换,下面是一个示例:
import pytz
import datetime
# 当前时区为UTC+8
tz = pytz.timezone('Asia/Shanghai')
# 指定时间
dt = datetime.datetime(2021, 8, 18, 12, 0, 0)
# 转换为UTC时间
utc_dt = tz.localize(dt).astimezone(pytz.utc)
print(utc_dt)
在示例中,我们将初始时间设置为2021年8月18日,12点,通过pytz.timezone()函数指定了当前时区为“Asia/Shanghai”,随后通过tz.localize()方法将其转换成为本地时间,并通过astimezone()方法将其转换成为UTC时间。
五、总结
Python提供了很多有用的函数和模块,可用于对日期和时间进行操作。在本篇文章中,我们介绍了如何使用Python中的函数进行日期时间转换,包括字符串转换成为日期时间对象,日期时间转换为指定格式的字符串,时间戳转换成为日期时间对象,以及时区转换。希望这篇文章能够帮助你解决在开发中遇到的日期时间相关问题。
