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

Written by

in

文章目录
  • 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}”)
  • 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自制GUI版时间戳转换器 Python实现批量提取BLF文件时间戳 使用Python将时间戳转换为时间字符串的实现方法 python中使用时间戳timestamp问题 Python中时间戳转换的实现 Python中获取秒级时间戳的实践指南 Python获取时间戳的多种方法总结 Python获取时间戳的几种方法详细示例
  • 目录
    • 基础方法(推荐)
    • 时区敏感型方法
    • UTC时间方法
    • 关键说明
    • 方法扩展
    • 注意事项
    • 时间戳转换示例

    在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}")
    

    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自制GUI版时间戳转换器
    • Python实现批量提取BLF文件时间戳
    • 使用Python将时间戳转换为时间字符串的实现方法
    • python中使用时间戳timestamp问题
    • Python中时间戳转换的实现
    • Python中获取秒级时间戳的实践指南
    • Python获取时间戳的多种方法总结
    • Python获取时间戳的几种方法详细示例

    站内搜索