微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将给定的时间间隔转换为毫秒?

如何解决将给定的时间间隔转换为毫秒?

我正在使用API​​查询历史数据,该API允许用户以不同的时间间隔(例如,分钟,每小时,每天,每周等)查询历史数据。该API还允许用户获取两个时间点之间的数据。但是,这些时间必须在UNIX毫秒内。

一个人可以查询的时间间隔在他们的网站上列出为 '1m','5m','15m','30m','1h','3h','6h','12h','1D','7D','14D','1M。 这些格式与Python的datetime.strftime()方法相似。我想知道如何将每个时间间隔转换为毫秒值。

例如,1m等于1000 * 60 = 60,0001h等于1000 * 60 * 60 = 3600000

解决方法

如果仅需要这12个项目,则可以为此目的硬编码一个字典:

# time keys to milliseconds
time_map = {
            '1m': 60 * 1000,'5m': 5 * 60 * 1000,'15m': 15 * 60 * 1000,'30m': 30 * 60 * 1000,'1h': 60 * 60 * 1000,'3h': 3 * 60 * 60 * 1000,'6h': 6 * 60 * 60 * 1000,'12h': 12 * 60 * 60 * 1000,'1D': 24 * 60 * 60 * 1000,'7D': 7 * 24 * 60 * 60 * 1000,'14D': 14 * 24 * 60 * 60 * 1000,'1M': 30 * 24 * 60 * 60 * 1000  # !assumption! months are always 30 days
}

print(time_map['12h'])
>43200000

如果您希望它更干净一点,可以用命名变量替换1000、60和24。

如果要使用库,则可以使用datetime.timedelta,但是它只需要几天,几秒钟和几微秒的关键字args-因此您仍然需要自己进行一些算术操作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。