time.time()Python时间模块中是否返回系统的时间或UTC时间?
我有一个Python datetime对象,我想转换为unix时间,或自1970年代以来的秒/毫秒.
我该怎么做呢?
我必须在未来5分钟创建一个"Expires"值,但我必须以UNIX Timestamp格式提供它.到目前为止,我有这个,但它似乎是一个黑客.
def expires():
'''return a UNIX style timestamp representing 5 minutes from now'''
epoch = datetime.datetime(1970, 1, 1)
seconds_in_a_day = 60 * 60 * 24
five_minutes = datetime.timedelta(seconds=5*60)
five_minutes_from_now = datetime.datetime.now() + five_minutes
since_epoch = five_minutes_from_now - epoch
return since_epoch.days * seconds_in_a_day + since_epoch.seconds
Run Code Online (Sandbox Code Playgroud)
是否有为我进行时间戳转换的模块或函数?
如何将本地时间的日期时间字符串转换为UTC时间的字符串?
我确定我以前做过这个,但找不到它,所以希望能帮助我(以及其他人)在将来做到这一点.
澄清:例如,如果我2008-09-17 14:02:00在我的本地时区(+10)中,我想生成一个具有相同UTC时间的字符串:2008-09-17 04:02:00.
此外,请访问http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/,请注意,一般情况下这不可能与DST和其他问题一样,因此从当地时间到UTC时间.
为这个简单的问题道歉...我是Python的新手...我已经四处寻找,似乎没有任何工作.
我有一堆日期时间对象,我想计算自过去一个固定时间以来每秒的秒数(例如自1970年1月1日以来).
import datetime
t = datetime.datetime(2009, 10, 21, 0, 0)
Run Code Online (Sandbox Code Playgroud)
这似乎只是区分具有不同日期的日期:
t.toordinal()
Run Code Online (Sandbox Code Playgroud)
任何帮助深表感谢.
我有一段时间在UTC,从那里我想要自纪元以来的秒数.
我使用strftime将其转换为秒数.以2012年4月1日为例.
>>>datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'
Run Code Online (Sandbox Code Playgroud)
2012年4月1日UTC的纪元是1333238400但是这个上面返回1333234800,相差1小时.
所以看起来strftime正在考虑我的系统时间并在某个地方应用时区转换.我以为datetime纯粹是天真的?
我怎么能绕过那个?如果可能的话,避免导入其他库,除非标准.(我有可移植性问题).
我有dt = datetime(2013,9,1,11),我想得到这个日期时间对象的Unix时间戳.
当我这样做时,(dt - datetime(1970,1,1)).total_seconds()我得到了时间戳1378033200.
当datetime.fromtimestamp我把它转换回来的时候datetime.datetime(2013, 9, 1, 6, 0).
小时不匹配.我在这里想念的是什么?
我有一个使用datetime.utcnow()创建并保存在数据库中的python datetime实例.
为了显示,我想使用默认的本地时区将从数据库检索的日期时间实例转换为本地日期时间(即,就像使用datetime.now()创建日期时间一样).
如何仅使用python标准库将UTC日期时间转换为本地日期时间(例如,没有pytz依赖项)?
似乎一个解决方案是使用datetime.astimezone(tz),但是如何获得默认的本地时区?