如何找到最近的中午

时间:2014-09-17 17:26:56

标签: python datetime

自从Unix时代开始以来,我有几秒钟的时间。例如,1410974864,即Wed,17 Sep 2014 17:27:44 GMT。

如何在此表单中查找给定时间的一天的开始和结束?

2 个答案:

答案 0 :(得分:4)

datetimepytz是一个很好的团队:

   import datetime, pytz

   epoch = 1410974864
   dt_epoch = datetime.datetime.fromtimestamp(epoch, tz=pytz.UTC)
   dt_midnight = dt.replace(hour=0, minute=0, second=0, microsecond=0)

所以,一天的开始和结束:

   day_start = dt_midnight
   day_end = dt_midnight + datetime.timedelta(days=1)

答案 1 :(得分:0)

你知道一天是3600秒/小时* 24小时= 86400秒。所以,只需花费时间并通过86400进行修改:

seconds_through_current_day = current_time % 86400

现在你有从一天开始以来已经过了多少秒,所以从纪元以来的总时间减去这个秒,你将留下当天的开头

beginning_of_current_day = current_time - second_through_current_day

最后,只需添加一天的秒数即可结束当天

end_of_current_day = beginning_of_current_day + 86400