在 Python (3.x) 中以 UTC 获取今天凌晨 12 点的纪元的简单方法?
Simple way to get the epoch of 12 AM for today in UTC in Python (3.x)?
我正试图在 Python 中得出一天开始的时间(UTC 午夜 12 点)。我找到了这个片段:
today = datetime.date.today()
time.mktime((today.year, today.month, today.day, 0, 0, 0, 0, 0, 0))
但由此产生的纪元指向今天凌晨 5 点的日期。我需要这个的原因是因为我有一个执行 SQL 命令的脚本需要使用纪元时间进行过滤(出于某种原因,通过本机 SQL 转换或提取一个纪元导致我的查询在 5分钟,与 12 秒相比)。我猜我上面的代码片段使用了我的本地机器时间。
你需要弄清楚当前UTC是什么日期,然后替换时间位:
now = datetime.now(timezone.utc)
midnight = now.replace(hour = 0, minute = 0, second = 0, microsecond = 0)
为了获得纪元,使用midnight.timestamp()
。这将确保在计算时间戳时应用时区信息。
我正试图在 Python 中得出一天开始的时间(UTC 午夜 12 点)。我找到了这个片段:
today = datetime.date.today()
time.mktime((today.year, today.month, today.day, 0, 0, 0, 0, 0, 0))
但由此产生的纪元指向今天凌晨 5 点的日期。我需要这个的原因是因为我有一个执行 SQL 命令的脚本需要使用纪元时间进行过滤(出于某种原因,通过本机 SQL 转换或提取一个纪元导致我的查询在 5分钟,与 12 秒相比)。我猜我上面的代码片段使用了我的本地机器时间。
你需要弄清楚当前UTC是什么日期,然后替换时间位:
now = datetime.now(timezone.utc)
midnight = now.replace(hour = 0, minute = 0, second = 0, microsecond = 0)
为了获得纪元,使用midnight.timestamp()
。这将确保在计算时间戳时应用时区信息。