如何将"origin"包含在"datetime"模块"fromtimestamp"函数中



我希望程序在输入秒数时显示时间戳。但木星笔记本中的起始年份从1970-01-01开始. 我想把原点设置为1980-01-01. 谁能帮帮我。

我试过了,但是我怎么能把原点部分包括到这段代码:

datetime.fromtimestamp(500021).strftime("%d-%m-%Y %I:%M:%S")

您应该从时间戳中添加01-01-197001-01-1980之间的差值(以秒为单位)

你可以这样获取:

td1 = datetime.strptime("01-01-1970", "%d-%m-%Y")
td2 = datetime.strptime("01-01-1980", "%d-%m-%Y")
print((td2 - td1).total_seconds())
# Output is 315532800.0

所以在你得到它之后你可以定义你自己的函数:

def from_timestamp(ts):
return datetime.fromtimestamp(ts + 315532800.0).strftime("%d-%m-%Y %I:%M:%S")

在UTC时区,您将得到以下输出:

print(datetime.fromtimestamp(0).strftime("%d-%m-%Y %I:%M:%S"))
# 01-01-1970 00:00:00
print(from_timestamp(0))
# 01-01-1980 00:00:00
print(from_timestamp(datetime.now().timestamp()))
# 21-12-2032 01:29:04
print(from_timestamp(500021))
# 06-01-1980 06:53:41

通过将起始日期转换为秒并添加它将在这种情况下有所帮助:

datetime.fromtimestamp(500021 + datetime(1980, 1, 1, 0, 0, 0).timestamp()).strftime("%d-%m-%Y %I:%M:%S")

最新更新