将日期时间戳转换为本地epoch数据时间

时间:2017-11-17 11:06:14

标签: python python-2.7 datetime

假设这是我的日期时间戳列表:

[datetime.datetime(2017, 11, 17, 9, 33, 11), datetime.datetime(2017, 11, 17, 9, 33, 36), datetime.datetime(2017, 11, 17, 9, 33, 48)]

已经给出了很多将这些值转换为纪元的例子,但这些值都是格林尼治标准时间。 我们如何将其转换为Epoch Local时间?

用简单的话说。考虑到给定的日期时间是GMT,一般时期转换将给定日期转换为时期。但是给定的日期时间是本地时间!

3 个答案:

答案 0 :(得分:1)

>>> x = datetime.datetime(2017, 11, 17, 9, 33, 36)
>>> x.timestamp()
1510882416.0
>>> x.ctime()
'Fri Nov 17 09:33:36 2017'

答案 1 :(得分:0)

您可以使用:

l = [datetime.datetime(2017, 11, 17, 9, 33, 11), datetime.datetime(2017, 11, 17, 9, 33, 36), datetime.datetime(2017, 11, 17, 9, 33, 48)]

epo = [x.strftime('%s') for x in l]

print(epo)
# ['1510898591', '1510898616', '1510898628']

答案 2 :(得分:0)

您可以尝试arrow lib:

import arrow
import datetime

x = datetime.datetime(2017, 11, 17, 9, 33, 36)
time = arrow.get(x, 'local').shift(hours=-6)  // here you can change hours to what you want 

print time 
>>2017-11-17T03:33:36+00:00

time = time.format('YYYY-MM-DD HH:mm:ss')
print time
>>2017-11-17 03:33:36