我有一个流程,需要读取一堆ISO 8601格式的字符串,这些字符串代表Zulu或UTC时间。例如:
2012-06-20T21:15:00Z
2012-06-20T21:16:00Z
2012-06-20T21:17:00Z
2012-06-20T21:18:00Z
我将字符串转换为时区感知的Python datetime对象,然后将它们转换为Unix时间戳的整数,并以二进制格式保存。例如:
dt_str = '2012-06-20T21:15:00Z'
ts = int(mktime(datetime.strptime(dt_str, '%Y-%m-%dT%H:%M:%SZ').timetuple()))
# ts = 1340241300
当我将这些时间戳读回到另一个进程中时,我希望能够直接从时间戳实例化一个numpy.datetime64对象。问题在于datetime64会将时区设置为本地时区。
np_dt = np.datetime64(ts,'s')
# np_dt = numpy.datetime64('2012-06-20T21:15:00-0400')
有没有方法可以将我的时间戳转换为UTC时间并读取?我想让np_dt等于numpy.datetime64('2012-06-20T21:15:00-0000')...好像是这样。
谢谢!
import pkg_resources pkg_resources.get_distribution('numpy').version '1.6.2' np.datetime64(1338624706, 's') TypeError: function takes at most 1 argument (2 given)
- Kurt Schwehr