在Python 2.7.2中,我获得了epoch以来的秒数:
sec_since_epoch = (date_obj - datetime(1970, 1, 1, 0, 0)).total_seconds()
现在我想将这些秒数舍入到最近的一天,例如:
datetime.fromtimestamp(sec_since_epoch)
对应于 datetime(2013, 12, 14, 5, 0, 0)
我想要新的时间戳对应 datetime(2013, 12, 14, 0, 0, 0)
我知道这种丑陋的做法,但是有一种优雅的方式吗?
Eug*_*nov 15
您可以使用datetime.timetuple()日期来操纵.例如这样:
from datetime import datetime
dt = datetime(2013, 12, 14, 5, 0, 0)
dt = datetime(*dt.timetuple()[:3]) # 2013-12-14 00:00:00
print dt.strftime('%s') # 1386997200
当然,只需先将其转换datetime为 a date:
sec_since_epoch = (date_obj.date() - date(1970, 1, 1)).total_seconds()
当然date()截断。如果您想在中午或中午之后进行四舍五入,只需在截断前添加 12 小时,或者检查日期是否在同一天 >= 中午,如果是,则添加一天(请注意,这些可以在DST 边界天数),或您想要舍入的任何规则。
| 归档时间: | 
 | 
| 查看次数: | 10682 次 | 
| 最近记录: |