from datetime import datetime
timestamp = 1331856000000 # Assuming the timestamp is in milliseconds
# Convert the timestamp to seconds
timestamp_seconds = timestamp / 1000
# Create a datetime object from the timestamp
dt = datetime.fromtimestamp(timestamp_seconds)
print(dt)
5条答案
按热度按时间hgc7kmma1#
datetime.datetime.fromtimestamp()
是正确的,除了你可能有毫秒的时间戳(就像在JavaScript中一样),但fromtimestamp()
需要Unix时间戳,以秒为单位。像这样做:
结果是:
它回答了你的问题吗?
编辑:jfs在一条现已删除的评论中正确建议使用真除法除以
1e3
(float1000
)。如果你想得到精确的结果,差异是显著的,因此我改变了我的答案。这种差异是由Python 2.x的默认行为造成的,当用/
运算符将int
除以int
时,它总是返回int
(这被称为 floor division)。通过用1e3
除数(将1000
表示为浮点数)或float(1000)
(或1000.
等)替换除数1000
(是int
),除法变为 * 真除法 *。Python 2.x在将int
除以float
、float
除以int
、float
除以float
等时返回float
。当传递给fromtimestamp()
方法的时间戳中有小数部分时,该方法的结果也包含有关该小数部分的信息(以微秒数表示)。g6ll5ycj2#
或者,您可以使用
pandas.to_datetime
并为自己选择单位和时区。这就避免了前面回答中提到的所有评论和问题:mrzz3bfm3#
类似于@Tadek回答
如果时间戳是UTC时区(一种存储日期的常用方法),则应使用
如果您使用
fromtimestamp
,它将假定日期以您的本地时区表示sf6xfgos4#
要在Python中将整数时间戳转换为日期时间对象,可以使用
datetime
模块。但是,您提供的时间戳似乎是以毫秒为单位的,这不是标准的Unix时间戳格式。要将给定的时间戳转换为datetime对象,需要将其除以1000以将其转换为秒。下面是一个如何实现此目标的示例:
在本例中,
timestamp
变量表示给定的时间戳(以毫秒为单位)。我们将其除以1000,将其转换为秒。然后,使用datetime
模块的fromtimestamp()
方法,我们从时间戳创建一个datetime对象(dt
)。最后,我们打印datetime对象。请记住,这假设时间戳是UTC。如果时间戳位于不同的时区,您可能需要考虑调整时区差异。
通过运行上面的代码,您应该看到转换后的datetime对象被打印出来,它表示基于给定时间戳的相应日期和时间。
pnwntuvh5#
要将整数秒转换为字符串日期和时间,可以使用以下命令:
输出:'19:01:2392,00:00:00'