我想用Python得出一天开始的时间(UTC午夜12点)。我找到了以下代码段:
today = datetime.date.today()
time.mktime((today.year, today.month, today.day, 0, 0, 0, 0, 0, 0))
但是结果产生的纪元导致今天的凌晨5点。我之所以需要它,是因为我有一个脚本执行一个SQL命令,该脚本需要使用纪元时间进行过滤(由于某种原因,我的查询在5分钟内完成通过本机SQL结果强制转换或提取纪元,而12秒则完成了) 。我猜我上面的代码段占用了我的本地机器时间。
答案 0 :(得分:0)
您需要确定UTC当前的日期,然后替换时间位:
now = datetime.now(timezone.utc)
midnight = now.replace(hour = 0, minute = 0, second = 0, microsecond = 0)
要获取纪元,请使用midnight.timestamp()
。这样可以确保在计算时间戳时应用时区信息。