Python生成13位或16位时间戳及反向解析实现

凌晨两点半
凌晨两点半
发布时间:2026-10-13| 6人浏览过
原创

本文介绍了在Python中生成13位和16位时间戳的方法,并提供了将时间戳反向解析为可读时间的代码示例。通过结合10位秒级时间戳与微秒部分,实现了不同精度的时间戳生成,适用于需要高精度时间标识的场景。

Python生成13位或16位时间戳及反向解析

直接提供相关代码实现。


import datetime
import time

def get_float_time_stamp():
  datetime_now = datetime.datetime.now()
  return datetime_now.timestamp()

def get_time_stamp16():
  # 生成16时间戳  eg:1540281250399895  -ln
  datetime_now = datetime.datetime.now()
  print(datetime_now)

  # 10位,时间点相当于从UNIX TIME的纪元时间开始的当年时间编号
  date_stamp = str(int(time.mktime(datetime_now.timetuple())))

  # 6位,微秒
  data_microsecond = str("%06d"%datetime_now.microsecond)

  date_stamp = date_stamp+data_microsecond
  return int(date_stamp)

def get_time_stamp13():
  # 生成13时间戳  eg:1540281250399895
  datetime_now = datetime.datetime.now()

  # 10位,时间点相当于从UNIX TIME的纪元时间开始的当年时间编号
  date_stamp = str(int(time.mktime(datetime_now.timetuple())))

  # 3位,微秒
  data_microsecond = str("%06d"%datetime_now.microsecond)[0:3]

  date_stamp = date_stamp+data_microsecond
  return int(date_stamp)

def stampToTime(stamp):
  datatime = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(float(str(stamp)[0:10])))
  datatime = datatime+'.'+str(stamp)[10:]
  return datatime

if __name__ == '__main__':
  a1 = get_time_stamp16()
  print(a1)
  print(stampToTime(a1))
  a2 = get_time_stamp13()
  print(a2)
  print(stampToTime(a2))

补充拓展:关于Python生成唯一ID的几种方法小结


# coding:utf-8
import random
def createRandomString(len):
  print ('wet'.center(10,'*'))
  raw = ""
  range1 = range(58, 65) # between 0~9 and A~Z
  range2 = range(91, 97) # between A~Z and a~z

  i = 0
  while i < len:
    seed = random.randint(48, 122)
    if ((seed in range1) or (seed in range2)):
      continue;
    raw += chr(seed);
    i += 1
  # print(raw)
  return raw

print createRandomString(20)


print ("test".center(20,"-"))
#! coding:utf-8
import uuid
print u"uuid1 生成基于计算机主机ID和当前时间的UUID"
print uuid.uuid1() # UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')

print u"\nuuid3 基于命名空间和一个字符的MD5加密的UUID"
print uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org') #UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')

print u"\nuuid4 随机生成一个UUID"
print uuid.uuid4()
#'16fd2706-8baf-433b-82eb-8c7fada847da'

print u"\nuuid5 基于命名空间和一个字符的SHA-1加密的UUID"
uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org') #UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d')

print u"\n根据十六进制字符生成UUID"
x = uuid.UUID('{00010203-0405-0607-0809-0a0b0c0d0e0f}')
print u"转换成十六进制的UUID表现字符"
print str(x)    # '00010203-0405-0607-0809-0a0b0c0d0e0f'''

以上这篇Python生成13位或16位时间戳以及反向解析时间戳的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。