文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python 时间相互转换

2023-09-09 16:30

关注

文章目录

对于这三者的转换,python2和python3是不同的,因为在python3中新增一些实例方法,能够很方便的实现这些类型之间的转换。

如果需要python2的类型转换请移步这些文章:
python——时间与时间戳之间的转换
Python字符串、时间戳、datetime时间相关转换

简单介绍下,datetime和time中常用的方法

  • datetime.datetime.strptime(string, format)。类方法,作用是根据指定的format(格式),将字符串转换成datetime.datetime实例对象。
  • datetime.datetime.strftime(format): 实例方法,作用就是根据指定的format(格式),将datetime.datetime实例对象转换成时间字符串。
  • datetime.datetime.timestamp(): 实例方法,作用就是将datetime.datetime实例对象转换成时间戳。
  • datetime.fromtimestamp(timestamp, tz=None):类方法,作用是将时间戳转换成datetime.datetime对象。
  • time.strptime(string, format)。类方法,作用是根据指定的format(格式)将时间字符串转换成time.struct_time对象。
  • time.strftime(format, string)。类方法,作用是根据指定的format(格式,)将time.struct_time对象转换成时间字符串。
  • time.localtime(timestamp)。类方法,作用是将时间戳转换成本地时间的time.struct_time对象。若要转换成UTC的time.struct_time对象则使用time.gtime()。
  • time.mktime(t)。类方法,time.localtime()的逆函数,因为作用正好相反。其作用是将time.struct_time对象转换成时间戳。

直接使用datetime模块中datetime类的timestamp()实例方法。

import datetimeimport timedt = datetime.datetime.now()ts = dt.timestamp()print(dt) # datetime.datetime(2019, 9, 11, 11, 20, 6, 681320)print(ts) # 1568172006.681321234567

直接使用datetime模块中的datetime类的strftime()实例方法即可。

import datetimeimport timedt = datetime.datetime.now()format = '%Y-%m-%d %H:%M:%S' # 根据此格式来解析datetime.datetime()对象为时间字符串print(dt) # datetime.datetime(2019, 9, 11, 11, 20, 6, 681320)print(dt.strftime(format)) # '2019-09-11 11:20:06'123456789
import datetimeimport timets = 1568172006.68132 # 时间戳dt = datetime.datetime.fromtimestamp(ts)print(dt) # datetime.datetime(2019, 9, 11, 11, 20, 6, 681320)1234567
  1. 转换必须通过time.struct_time对象作为桥梁。
  2. 先转成datetime.datetime对象,再转成时间字符串。

time.struct_time对象

时间字符串

时间戳


import datetimeimport time# 方法1ts = 1568172006.68132 # 时间戳format = '%Y-%m-%d %H:%M:%S' # 根据此格式来时间戳解析为时间字符串# 时间戳转time.struct_timets_struct = time.localtime(ts)# time.struct_time转时间字符串date_string = time.strftime(format, ts_struct)print(date_string) # '2019-09-11 11:20:06'# 方法2dt = datetime.datetime.fromtimestamp(ts)date_string = dt.strftime(format)123456789101112131415

只需要使用datetime模块中的datetime类的strptime(date_string, format)类方法即可。
这个方法的作用就是:根据指定的format格式将时间字符串date_string,转换成datetime.datetime()对象。

import datetimeimport timedate_string = '2019-09-11 11:20:06'format = '%Y-%m-%d %H:%M:%S' # 根据此格式来解析时间字符串为datetime.datetime()对象dt = datetime.strptime(date_string, format)print(dt) # datetime.datetime(2019, 9, 11, 11, 20, 6)123456789
  1. 转换必须通过time.struct_time对象作为桥梁。
  2. 先转成datetime.datetime对象,再转成timestamp。

时间字符串

time.struct_time对象

时间戳


import datetimeimport time# 方法1date_string = '2019-09-11 11:20:06'format = '%Y-%m-%d %H:%M:%S' # 根据此格式来解析时间字符串为time()对象# 时间字符串转time.struct_timets_struct = time.strptime(date_string, format)# time.struct_time转时间戳ts = time.mktime(ts_struct)print(ts) # 1568172006.0# 方法2dt = datetime.datetime.strptime(date_string, format)ts = dt.timestamp()1234567891011121314151617

[1] python3官方文档
[2] python——时间与时间戳之间的转换
[3] Python字符串、时间戳、datetime时间相关转换
[4] Python 之 时间字符串、时间戳、时间差、任意时间字符串转换时间对象

来源地址:https://blog.csdn.net/weixin_43794095/article/details/130443659

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯