Python中生成13位时间戳的常见方法

 更新时间:2025年11月05日 08:26:20   作者:detayun  
这篇文章主要为大家详细介绍了Python中生成13位时间戳的常见方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

在Python中生成13位毫秒级时间戳(Unix时间戳)可通过以下方法实现:

基础方法(推荐)

import time
timestamp_13 = int(time.time() * 1000)
print(f"13位时间戳: {timestamp_13}")
# 示例输出:1762240149800

时区敏感型方法

from datetime import datetime
import time

# 获取当前时间(带时区信息)
now_with_tz = datetime.now().astimezone()
timestamp_13 = int(now_with_tz.timestamp() * 1000)
print(f"带时区的13位时间戳: {timestamp_13}")

UTC时间方法

from datetime import datetime

utc_now = datetime.utcnow()
timestamp_13 = int(utc_now.timestamp() * 1000)
print(f"UTC时间的13位时间戳: {timestamp_13}")

关键说明

1.精度说明

13位时间戳精度为毫秒,10位为秒级。1762240149800表示从1970-01-01 00:00:00 UTC开始经过的毫秒数。

2.时区处理

  • time.time()返回UTC时间戳(与系统时区无关)
  • 带时区的方法适用于需要明确时区信息的场景

3.性能对比

import timeit

# 基础方法性能
timeit.timeit('int(time.time()*1000)', number=1000000, globals=globals())
# 输出约0.2秒(100万次调用)

方法扩展

Python中获取13位和10位时间戳的方法

1. 获取当前时间戳

13位时间戳(毫秒级)

import time
import datetime

# 方法1:使用time模块
timestamp_13_1 = int(time.time() * 1000)
print("13位时间戳(方法1):", timestamp_13_1)

# 方法2:使用datetime模块
timestamp_13_2 = int(datetime.datetime.now().timestamp() * 1000)
print("13位时间戳(方法2):", timestamp_13_2)

10位时间戳(秒级)

# 方法1:使用time模块
timestamp_10_1 = int(time.time())
print("10位时间戳(方法1):", timestamp_10_1)

# 方法2:使用datetime模块
timestamp_10_2 = int(datetime.datetime.now().timestamp())
print("10位时间戳(方法2):", timestamp_10_2)

2. 将时间戳转换为可读时间

# 13位时间戳转可读时间
timestamp_13 = int(time.time() * 1000)
readable_time_13 = datetime.datetime.fromtimestamp(timestamp_13 / 1000).strftime('%Y-%m-%d %H:%M:%S.%f')
print("13位时间戳转可读时间:", readable_time_13)

# 10位时间戳转可读时间
timestamp_10 = int(time.time())
readable_time_10 = datetime.datetime.fromtimestamp(timestamp_10).strftime('%Y-%m-%d %H:%M:%S')
print("10位时间戳转可读时间:", readable_time_10)

3. 将日期字符串转换为时间戳

from datetime import datetime

date_str = "2023-01-01 12:00:00"

# 转换为10位时间戳(秒级)
timestamp_10 = int(datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S").timestamp())
print("日期字符串转10位时间戳:", timestamp_10)

# 转换为13位时间戳(毫秒级)
timestamp_13 = int(datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S").timestamp() * 1000)
print("日期字符串转13位时间戳:", timestamp_13)

注意事项:

时间戳的精度

  • 10位时间戳表示秒级精度
  • 13位时间戳表示毫秒级精度

时区问题

  • Python的time.time()datetime.now()返回的是本地时间
  • 如果需要UTC时间,可以使用datetime.datetime.utcnow()

跨平台兼容性

这些方法在Windows、Linux和macOS上都能正常工作

大数处理

对于非常大的时间戳(如超过32位整数范围),确保使用Python 3的int类型

完整示例代码

import time
import datetime

def get_timestamps():
    # 获取当前时间戳
    now = datetime.datetime.now()
    
    # 13位时间戳(毫秒级)
    timestamp_13 = int(now.timestamp() * 1000)
    
    # 10位时间戳(秒级)
    timestamp_10 = int(now.timestamp())
    
    # 转换为可读时间
    readable_13 = now.strftime('%Y-%m-%d %H:%M:%S.%f')
    readable_10 = now.strftime('%Y-%m-%d %H:%M:%S')
    
    print(f"当前时间: {now}")
    print(f"13位时间戳: {timestamp_13}")
    print(f"10位时间戳: {timestamp_10}")
    print(f"13位时间戳对应时间: {readable_13}")
    print(f"10位时间戳对应时间: {readable_10}")
    
    # 示例:将日期字符串转换为时间戳
    date_str = "2023-01-01 12:00:00"
    dt = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
    print(f"\n日期字符串 '{date_str}' 转换为:")
    print(f"10位时间戳: {int(dt.timestamp())}")
    print(f"13位时间戳: {int(dt.timestamp() * 1000)}")

if __name__ == "__main__":
    get_timestamps()

运行这段代码将输出当前时间的时间戳以及如何将日期字符串转换为时间戳的示例。

注意事项

跨平台兼容性:所有方法均兼容Windows/Linux/macOS

时间精度:系统时间精度可能影响最后几位数字

闰秒处理:时间戳计算不包含闰秒调整

时间戳转换示例

import datetime

# 转换回可读时间
def timestamp_to_str(timestamp_13):
    dt = datetime.datetime.utcfromtimestamp(timestamp_13 / 1000)
    return dt.strftime("%Y-%m-%d %H:%M:%S.%f")[:-3]

print(timestamp_to_str(1762240149800))
# 输出:2025-11-04 14:02:29.800

这些方法覆盖了从基础到进阶的时间戳处理需求,可根据具体场景选择最适合的方案。

到此这篇关于Python中生成13位时间戳的常见方法的文章就介绍到这了,更多相关Python生成时间戳内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python数据类型之String字符串实例详解

    Python数据类型之String字符串实例详解

    这篇文章主要介绍了Python数据类型之String字符串,结合实例形式详细讲解了Python字符串的概念、定义、连接、格式化、转换、查找、截取、判断等常见操作技巧,需要的朋友可以参考下
    2019-05-05
  • python dataframe获得指定行列简单例子

    python dataframe获得指定行列简单例子

    在DataFrame中取特定行列的数据是一个常见的操作,这篇文章主要给大家介绍了关于python dataframe获得指定行列的简单例子,需要的朋友可以参考下
    2024-03-03
  • Python 如何优雅的将数字转化为时间格式的方法

    Python 如何优雅的将数字转化为时间格式的方法

    这篇文章主要介绍了Python 如何优雅的将数字转化为时间格式的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • django echarts饼图数据动态加载的实例

    django echarts饼图数据动态加载的实例

    今天小编就为大家分享一篇django echarts饼图数据动态加载的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python爬虫之模拟知乎登录的方法教程

    Python爬虫之模拟知乎登录的方法教程

    在爬虫过程中,有些页面在登录之前是被禁止抓取的,这个时候就需要模拟登陆了,下面这篇文章主要给大家介绍了利用Python爬虫模拟知乎登录的方法教程,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • python3编写ThinkPHP命令执行Getshell的方法

    python3编写ThinkPHP命令执行Getshell的方法

    这篇文章主要介绍了python3编写ThinkPHP命令执行Getshell的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • 浅谈Django中的数据库模型类-models.py(一对一的关系)

    浅谈Django中的数据库模型类-models.py(一对一的关系)

    今天小编就为大家分享一篇浅谈Django中的数据库模型类-models.py(一对一的关系),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • python执行js脚本报错CryptoJS is not defined问题

    python执行js脚本报错CryptoJS is not defined问题

    这篇文章主要介绍了python执行js脚本报错CryptoJS is not defined问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 盘点提高 Python 代码效率的方法

    盘点提高 Python 代码效率的方法

    本人用 Python 快两年了,平时只是用它来写点小小的分析脚本,以方便快捷为主,也没怎么考虑代码效率问题。最近想给自己升升级,提高一下代码的档次。于是找了一堆效率相关的文章,做了些实验,总结一下。
    2014-07-07
  • Django 构建模板form表单的两种方法

    Django 构建模板form表单的两种方法

    这篇文章主要介绍了Django 构建模板form表单的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06

最新评论