需要帮助从纪元时间剥离微秒

我有一个 API,我必须向它发送纪元时间开始和结束日期。唯一的问题是它不接受微秒。


我使用 datatime 构建了一个时间函数,但是它计算微秒。我尝试了 .replace(microsecond=0),但这只会在 Epoch 上留下 .0,这是我的 API 抱怨的。我也尝试导出到 strptime,但是我的 .timestamp 函数无法将其解析为字符串。


timestart = datetime.now() - timedelta(hours = 24)

timeend = datetime.now()


params = {'start_date':timestart.timestamp(), 'end_date':timeend.timestamp()}

我想基本上计算 Epoch 中的当前时间和 24 小时前的时间(这不必非常精确),我可以将其传递给我的 API。


繁华开满天机
浏览 160回答 3
3回答

慕后森

你可以简单的cast(类型转换)的值timestart.timestamp()和 timeend.timestamp(),这是floats,对ints,即:from datetime import datetime, timedeltatimestart = datetime.now() - timedelta(hours = 24)timeend = datetime.now()s = int(timestart.timestamp()) e = int(timeend.timestamp())params = {'start_date':s, 'end_date':e}print(params)输出:{'start_date': 1554121647, 'end_date': 1554208047}

MM们

我通常time.mktime()用于将日期时间转换为纪元时间:from datetime import datetime, timedeltaimport timetimestart = datetime.now() - timedelta(hours = 24)timeend = datetime.now()params = {  'start_date': int(time.mktime(timestart.timetuple())),  'end_date': int(time.mktime(timeend.timetuple()))}# Output{'start_date': 1554123099, 'end_date': 1554209499}

斯蒂芬大帝

Pedro 的另一种解决方案:from datetime import datetimefrom datetime import timedeltatimestart = (datetime.now() - timedelta(hours = 24)).strftime("%s")timeend = datetime.now().strftime("%s")params = {'start_date':timestart,          'end_date':timeend}输出:{'start_date': '1554124346', 'end_date': '1554210746'}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python