📜  13位时间戳python(1)

📅  最后修改于: 2023-12-03 14:59:03.270000             🧑  作者: Mango

13位时间戳 Python

在 Python 中,时间戳常用来表示一个日期时间对应的数字型数据。13位时间戳是指从1970年1月1日 00:00:00 UTC起计算的毫秒数,具有更高的精度,精确到毫秒级别。

获取当前时间戳

我们可以使用 time 模块来获取当前的13位时间戳,示例代码如下:

import time

# 获取当前时间戳
timestamp = int(time.time() * 1000)
print(timestamp)  # 输出类似:1631729196210

代码解释:

  1. time.time() 函数会返回自 1970 年1月1日0时0分0秒(UTC)起的当前时间,以秒为单位。
  2. int(time.time() * 1000) 将当前秒数乘以1000,再强转为整型,就得到了13位时间戳。
将时间戳转化为日期时间

如果我们已经拥有一个13位时间戳,我们可以使用 Python 的 datetime 模块来将它转化为日期时间。示例代码如下:

import datetime

# 将13位时间戳转化为日期时间
timestamp = 1631729196210
datetime_obj = datetime.datetime.fromtimestamp(timestamp / 1000.0)
print(datetime_obj)  # 输出类似:2021-09-15 10:59:56.210000

代码解释:

  1. datetime.datetime.fromtimestamp(timestamp / 1000.0) 将13位时间戳除以1000,再传入 fromtimestamp() 函数中,就可以得到对应的日期时间对象。
将日期时间转化为13位时间戳

如果我们已经拥有一个日期时间对象,我们也可以使用 Python 的 timestamp() 方法来将它转化为对应的13位时间戳。示例代码如下:

import datetime

# 将日期时间转化为13位时间戳
datetime_obj = datetime.datetime.now()
timestamp = int(datetime_obj.timestamp() * 1000)
print(timestamp)  # 输出类似:1631729196210

代码解释:

  1. datetime.datetime.now() 获取当前的日期时间对象。
  2. datetime_obj.timestamp() 将日期时间对象转化为对应的 Unix 时间戳,返回值是浮点数秒数。
  3. int(timestamp * 1000) 将秒数乘以1000,再强转为整型,就得到了13位时间戳。
注意事项
  1. 13位时间戳具有更高的精度,但可能会占用更多的存储空间或网络带宽;
  2. 13位时间戳的精确度和执行效率均不如 Python 的 datetime 对象;
  3. 时间戳与时区有关,请确保在进行转换时正确设置时区信息。

本文介绍了13位时间戳在 Python 编程中的应用,包括如何获取当前时间戳、如何将时间戳转化为日期时间、以及如何将日期时间转化为13位时间戳。