下面是详细的攻略:
Python中Timestamp、Datetime和UTC时间之间的转换
Timestamp与Datetime之间的转换
在Python中,我们可以将时间表示成Timestamp和Datetime这两种类型。Timestamp是指从1970年1月1日00:00:00开始的秒数,它通常是有符号的整数或浮点数。而Datetime则是一个更易读的时间格式,包括年月日时分秒。
那么在Python中,如何实现Timestamp和Datetime之间的转换呢?
Timestamp转换成Datetime
我们可以使用Python内置的datetimeFromTimestamp
方法将Timestamp转换成Datetime。它的参数是一个秒数,返回表示同一时刻的datetime对象。示例代码如下:
import datetime
timestamp = 1615371425
dt = datetime.datetime.fromtimestamp(timestamp)
print("Timestamp:", timestamp)
print("Datetime:", dt)
输出结果是:
Timestamp: 1615371425
Datetime: 2021-03-10 15:10:25
Datetime转换成Timestamp
要将Datetime转换成Timestamp,我们可以使用timestamp()
方法。它返回一个浮点数,代表从1970年1月1日00:00:00 UTC到该datetime对象所表示时间的秒数,其中UTC是协调世界时。
示例代码如下:
import datetime
dt = datetime.datetime(2021, 3, 10, 15, 10, 25)
timestamp = dt.timestamp()
print("Datetime:", dt)
print("Timestamp:", timestamp)
输出结果是:
Datetime: 2021-03-10 15:10:25
Timestamp: 1615371425.0
Timestamp和UTC时间之间的转换
UTC是协调世界时,它是目前世界上最主要的标准时间。在Python中,我们可以使用pytz
模块来支持时区转换。
UTC时间转换成Timestamp
假设我们有一个字符串表示的UTC时间,我们可以使用datetime.datetime.strptime()
将其转换成datetime
对象,再使用timestamp()
方法将其转换成Timestamp。示例代码如下:
import datetime
import pytz
utc_str = "2021-03-10 15:10:25"
utc_dt = datetime.datetime.strptime(utc_str, "%Y-%m-%d %H:%M:%S")
utc_dt = pytz.utc.localize(utc_dt) # 给datetime对象加上UTC时区
timestamp = utc_dt.timestamp()
print("Timestamp:", timestamp)
输出结果是:
Timestamp: 1615371025.0
Timestamp转换成UTC时间
我们可以使用datetime.datetime.utcfromtimestamp()
方法将Timestamp转换成UTC时间的datetime
对象。示例代码如下:
import datetime
import pytz
timestamp = 1615371025
utc_dt = datetime.datetime.utcfromtimestamp(timestamp)
utc_dt = utc_dt.replace(tzinfo=pytz.utc) # 给datetime对象加上UTC时区
utc_str = utc_dt.strftime("%Y-%m-%d %H:%M:%S")
print("UTC Time:", utc_str)
输出结果是:
UTC Time: 2021-03-10 15:10:25
以上就是Python中实现对Timestamp和Datetime及UTC时间之间的转换的完整攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中实现对Timestamp和Datetime及UTC时间之间的转换 - Python技术站