设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间13 现在时间13 缓存数据 风骨神仙籍里人,诗狂酒圣且平生。开元一遇成何事,留得千秋万古名。

风骨神仙籍里人,诗狂酒圣且平生。开元一遇成何事,留得千秋万古名。 -- 杨花落尽子规啼

查看: 618|回复: 2

Python时间戳与日期格式之间相互转化的详细教程

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:204
  • 打卡月天数:0
  • 打卡总奖励:3414
  • 最近打卡:2023-08-27 07:14:33
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
396
主题
364
精华
0
金钱
4598
积分
790
注册时间
2022-12-25
最后登录
2025-3-12

发表于 2023-2-10 23:06:50 | 显示全部楼层 |阅读模式
绪论

java默认精度是毫秒级别的,生成的时间戳是13位,而python默认是10位的,精度是秒。那么python是如何生成13位时间戳,以及时间戳如何转换为日期(年-月-日 时-分-秒)

  • 13位是毫秒时间戳(难点: 输入毫秒级的时间,转出正常格式的时间)
  • 10位是秒时间戳。
Python实现【时间戳】与【日期格式】之间相互转化的应用函数汇总表:
Python函数功能示例time.time()获取当前时间1655179674.911647int(
  1. time.time()
复制代码
)获取精确到秒时间戳,10位1655179674int(
  1. round(time.time() * 1000)
复制代码
)获取精确毫秒时间戳,13位1655179674912
  1. time.localtime
复制代码
(k1)将10位时间戳k1转为日期格式time.struct_time(tm_year=2022, tm_mon=6, tm_mday=11, tm_hour=18, tm_min=19, tm_sec=48, tm_wday=5, tm_yday=162, tm_isdst=0)
  1. time.strftime
复制代码
(“%Y-%m-%d %H:%M:%S”,
  1. time.localtime
复制代码
(k1))将10位时间戳k1转为【年-月-日 时-分-秒】日期格式2019-09-02 16:19:35
  1. time.localtime(k1/1000)
复制代码
将13位时间戳k1转为日期格式time.struct_time(tm_year=2022, tm_mon=6, tm_mday=11, tm_hour=18, tm_min=19, tm_sec=48, tm_wday=5, tm_yday=162, tm_isdst=0)
  1. time.strftime
复制代码
(“%Y-%m-%d %H:%M:%S”,
  1. time.localtime
复制代码
(k1/1000))将13位时间戳k1转为【年-月-日 时-分-秒】日期格式2019-09-02 16:19:35
一、获取当前日期,转为10位或13位时间戳


  • 自定义函数1 get_second():python获取精确到秒时间戳,10位
  • 自定义函数2 get_millisecond():python获取精确毫秒时间戳,13位
  • 自定义函数3 get_delta(t1,t2):两个时间戳相减,返回秒数
  1. # -*- coding:utf-8 -*-

  2. import time

  3. # 获取当前日期,转为10位时间戳格式
  4. def get_second():
  5.     """
  6.     :return: 获取精确到秒时间戳,10位
  7.     """
  8.     return int(time.time())

  9. # 获取当前日期,转为13位时间戳格式
  10. def get_millisecond():
  11.     """
  12.     :return: 获取精确毫秒时间戳,13位
  13.     """
  14.     millis = int(round(time.time() * 1000))
  15.     return millis

  16. # 两个13位的时间戳相减,返回秒数
  17. def get_delta(t1,t2):
  18.     """
  19.     :param t1: 13位时间戳
  20.     :param t2: 13位时间戳
  21.     :return: 两个时间戳相减,返回秒数
  22.     """
  23.     res=int((t2 - t1)/1000)
  24.     return res

  25. if __name__ == "__main__":
  26.     print(get_second())  # 获取当前时间,并转为10位时间戳格式
  27.     >>>
  28.     1655179674
  29.     print(time.time())   # 直接打印全量精度的时间戳
  30.     >>>
  31.     1655179674.911647
  32.     time1=get_millisecond()
  33.     print(time1)    # 获取当前时间,并转为13位时间戳格式
  34.     >>>
  35.     1655179674912
  36.     # 两个13位时间戳作差运算
  37.     k1=1567412375458
  38.     k2=1567412395853

  39.     now = int(round(time.time() * 1000))
  40.     print(now)
  41.     >>>
  42.     1655179674913
  43.     t1 = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(k1/1000))
  44.     t2=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(k2/1000))
  45.     print(t1)
  46.     >>>
  47.     2019-09-02 16:19:35
  48.     print(t2)
  49.     >>>
  50.     2019-09-02 16:19:55
  51.     print(get_delta(k1,k2))
  52.     >>>
  53.     20
复制代码
二、将10位或13位时间戳转为日期格式(年-月-日 时-分-秒)

函数4 millisecond_to_time(millis):13位时间戳转换为日期格式字符串
  1. import time

  2. # 输入毫秒级的时间,转出正常格式的时间
  3. def timeStamp(timeNum):
  4.     timeStamp = float(timeNum/1000)
  5.     timeArray = time.localtime(timeStamp)
  6.     otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
  7.     print(otherStyleTime)

  8. time_st = 1654942788469  # 随机指定时间戳
  9. timeStamp(time_st)  # 调用函数
  10. >>>
  11. 2022-06-11 18:19:48
复制代码
参考链接:【1】在线时间转换工具:http://tools.jb51.net/code/unixtime

总结

到此这篇关于Python时间戳与日期格式之间相互转化的文章就介绍到这了,更多相关Python时间戳与日期格式转化内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章希望大家以后多多支持晓枫资讯!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
15
积分
10
注册时间
2022-12-29
最后登录
2022-12-29

发表于 2024-11-29 07:19:24 | 显示全部楼层
感谢楼主分享。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
18
积分
16
注册时间
2022-12-25
最后登录
2022-12-25

发表于 6 天前 | 显示全部楼层
路过,支持一下
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表