如何解决如何从给定城市中的给定日期和时间获取以秒为单位的Unix纪元时间戳?
我正在尝试获取以下纽约日期和时间的相应的Epoch Unix时间戳(以秒为单位):
2020-09-25 09:30 New York Time.
根据https://www.epochconverter.com/timezones?q=1601040600&tz=America%2FNew_York,这对应于:
Conversion results (1601040600)
1601040600 converts to Friday September 25,2020 09:30:00 (am) in time zone America/New York (EDT)
这是我尝试过的:
import datetime
import pytz
et = pytz.timezone('America/New_York')
mydt = datetime.datetime(2020,9,25,30,et)
myepoch = int(mydt.timestamp())
print('2020-09-25 09:30 ET Epoch: ',myepoch)
>>> OUTPUT
2020-09-25 09:30 ET Epoch: 1601043960
因此它给出1601043960
而不是1601040600
。为什么以及应该怎么做才能获得正确的价值?
请注意,该解决方案适用于任何日期,因此它必须自动处理EST / EDT夏令时。
解决方法
似乎解决方案是这样的:
import datetime
import pytz
et = pytz.timezone('America/New_York')
mydt = et.localize(datetime.datetime(2020,9,25,30,0))
myepoch = int(mydt.timestamp())
print('2020-09-25 09:30 ET Epoch: ',myepoch)
>>> OUTPUT
2020-09-25 09:30 ET Epoch: 1601040600
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。