Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较Python中的两个UTC时间戳_Python_Datetime_Utc - Fatal编程技术网

比较Python中的两个UTC时间戳

比较Python中的两个UTC时间戳,python,datetime,utc,Python,Datetime,Utc,我的数据有一个字符串格式的UTC时间戳字段(例如“1426402510”)。我需要将此字段与当前时间进行比较,并以秒为单位发出持续时间。我不知道如何将这个字符串转换成适当的日期时间格式进行转换——我尝试在Python中使用不同的日期时间方法时出现了错误,因此我非常感谢您的帮助。以下是我代码的一部分: import datetime # get current local time as a UTC timestamp current_time = datetime.datetime.ut

我的数据有一个字符串格式的UTC时间戳字段(例如“1426402510”)。我需要将此字段与当前时间进行比较,并以秒为单位发出持续时间。我不知道如何将这个字符串转换成适当的日期时间格式进行转换——我尝试在Python中使用不同的日期时间方法时出现了错误,因此我非常感谢您的帮助。以下是我代码的一部分:

 import datetime

 # get current local time as a UTC timestamp
 current_time = datetime.datetime.utcnow()
 current_time.strftime("%s")

 # convert the string representing the UTC timestamp in my data to datetime for comparison
 time_val = '1426402510'
 #utc_dt = ??      # how should I convert time_val to compare with current_time?

 # the required output
 diff = (current_time - utc_dt).total_seconds()

感谢您的帮助。

要将字符串转换为datetime对象,只需在时间戳字符串上使用
utcfromtimestamp
调用
int

import datetime

current_time = datetime.datetime.utcnow()
time_val = '1426402510'

diff = (current_time - datetime.datetime.utcfromtimestamp(int(time_val))).total_seconds()

print(diff)

要将字符串转换为datetime对象,只需对时间戳字符串使用
utcfromtimestamp
调用
int

import datetime

current_time = datetime.datetime.utcnow()
time_val = '1426402510'

diff = (current_time - datetime.datetime.utcfromtimestamp(int(time_val))).total_seconds()

print(diff)

要将当前时间获取为“自历元起的秒数”,请使用:

如果需要使用
datetime

#!/usr/bin/env python3
from datetime import datetime, timedelta

now = datetime.utcnow()
then = datetime.utcfromtimestamp(int('1426402510'))
diff = (now - then) / timedelta(seconds=1)
print("Duration: %.0f seconds" % diff)

您可以在Python2上使用
timedelta.total_seconds()
,其中
/timedelta
不起作用。

要将当前时间获取为“自历元起的秒数”,请使用:

如果需要使用
datetime

#!/usr/bin/env python3
from datetime import datetime, timedelta

now = datetime.utcnow()
then = datetime.utcfromtimestamp(int('1426402510'))
diff = (now - then) / timedelta(seconds=1)
print("Duration: %.0f seconds" % diff)
您可以在Python2上使用
timedelta.total_seconds()
,其中
/timedelta
不起作用