在python中基于13位unixtime时间戳(毫秒)计算时间戳

在python中基于13位unixtime时间戳(毫秒)计算时间戳,python,Python,我想计算系统给定的13位unixtime前后300毫秒的时间戳。我检查了将13位unixtime转换为时间戳的问题 然后,在给定时间戳的情况下,我用python编写了一个简单的代码来双重检查输出是否正确 假设系统的给定时间戳为13位unixtime,等于X=“1396226255964”。现在我需要计算新的时间戳“Y1”,即X之前的“300毫秒”和X之后的“Y2”,即X之后的“300毫秒” 此代码是否正确计算Y1和Y2 X = "1396226255964" Y1 = int(X) - int

我想计算系统给定的13位unixtime前后300毫秒的时间戳。我检查了将13位unixtime转换为时间戳的问题

然后,在给定时间戳的情况下,我用python编写了一个简单的代码来双重检查输出是否正确

假设系统的给定时间戳为13位unixtime,等于X=“1396226255964”。现在我需要计算新的时间戳“Y1”,即X之前的“300毫秒”和X之后的“Y2”,即X之后的“300毫秒”

此代码是否正确计算Y1和Y2

X = "1396226255964"
Y1 = int(X) - int (300000)
print("Y1:", Y1)
Y2 = int(X) + int (300000)
print("Y2:", Y2)
产出: Y1:1396225955964
Y2:1396226556620

13位Unix时间已经是毫秒,因此如果您想获得300毫秒或更高的时间,只需:

X = "1396226255964"
Y1 = int(X) - 300
print("Y1:", Y1)
Y2 = int(X) + 300
print("Y2:", Y2)

这有点不寻常,X通常被认为是整数。

您可能需要将其转换为
日期时间
,然后再减去它。但是我需要以与X相同的13位数的形式获得输出y1和y2。我如何做到这一点?哦,这很好。你确定吗?我百分之百确定。不管怎样,关于整数或整数,你可以选择@MohsenAli
from datetime import datetime, timedelta

X = "1396226255964"

X_dt = datetime.fromtimestamp(int(X)/1000)  # using the local timezone

y1= X_dt + timedelta(milliseconds=300)
y2 = X_dt + timedelta(milliseconds=-300)

print(X_dt.strftime("%Y-%m-%d %H:%M:%S,%f"))
print(y1.strftime("%Y-%m-%d %H:%M:%S,%f"))
print(y2.strftime("%Y-%m-%d %H:%M:%S,%f"))