python datetime 和时间戳互相转换问题

 更新时间:2022年11月08日 09:44:36   作者:A_Prophet  
time和datetime都是Python中的内置模块(不需要安装,直接可以使用),都可以对时间进行获取,对时间格式进行转换,如时间戳和时间字符串的相互转换,本文先给大家介绍python datetime 和时间戳互转问题,感兴趣的朋友一起看看吧

python datetime 和时间戳互转

import datetime, time

now = datetime.datetime.now()

now_time = int(time.mktime(now.timetuple()))   #datetime 转时间戳

now = datetime.datetime.fromtimestamp(now_time)  #时间戳转datetime
# datetime 当天8点

datetime(now.year, now.month, now.day, 8)
now = 0点-8点  int(now-now % 86400) + time.timezone是前一天的零点

Python time和datetime时间戳和时间字符串相互转换

Python time和datetime时间戳和时间字符串相互转换
时间戳是指格林威治时间1970年01月01日00时00分00秒开始计算所经过的秒数,是一个浮点数。

time和datetime都是Python中的内置模块(不需要安装,直接可以使用),都可以对时间进行获取,对时间格式进行转换,如时间戳和时间字符串的相互转换。

现在我们就使用这两个模块来对时间格式进行转换。

一、time获取当前时间

import time
print(time.time())
print(time.localtime())
print(time.localtime(time.time()))

运行结果:

1559120608.5015295
time.struct_time(tm_year=2019, tm_mon=5, tm_mday=29, tm_hour=17, tm_min=3, tm_sec=28, tm_wday=2, tm_yday=149, tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=5, tm_mday=29, tm_hour=17, tm_min=3, tm_sec=28, tm_wday=2, tm_yday=149, tm_isdst=0)

可以通过time.time()获取到当前的时间,默认是一个时间戳浮点数。

通过time.localtime()或time.localtime(time.time())都是获取到当前时间的struct_time,里面分别对应了当前时间的年、月、日、时、分、秒、一周的第几天(周一是0,0-6)、一年的第几天(从1开始,1-366)、夏时令(是夏时令1,不是0,不知道-1)。

二、time将时间戳转换成时间字符串

# 时间戳转换成时间字符串
time_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
print(time_str)

运行结果:

2019-05-29 17:08:35

三、time将时间字符串转换成时间戳

print(time.strptime(time_str, '%Y-%m-%d %H:%M:%S'))
# 时间字符串转换成时间戳
time_stamp = time.mktime(time.strptime(time_str, '%Y-%m-%d %H:%M:%S'))
print(time_stamp)

运行结果:

time.struct_time(tm_year=2019, tm_mon=5, tm_mday=29, tm_hour=17, tm_min=8, tm_sec=35, tm_wday=2, tm_yday=149, tm_isdst=-1)
1559120915.0

可以看到,不管是将时间戳转换成时间字符串,还是将时间字符串转换成时间戳,time模块都是通过struct_time来过渡的,也就是说,都需要先转换成struct_time,再用struct_time转换成想要的结果。

四、datetime获取当前时间

from datetime import datetime
print(datetime.now())
print(datetime.now().timetuple())

运行结果:

2019-05-29 17:22:37.343784
time.struct_time(tm_year=2019, tm_mon=5, tm_mday=29, tm_hour=17, tm_min=22, tm_sec=37, tm_wday=2, tm_yday=149, tm_isdst=-1)

可以通过datetime.now()获取到当前的时间,默认是一个datetime时间对象,样式是一个时间字符串的样式。

注意:导包时导入的是datetime包下的datetime模块。导包方式不同,使用时也不同。

通过datetime对象的timetuple()方法可以获取到时间的struct_time。

五、datetime将datetime对象转换成时间字符串和时间戳

# datetime对象转换成时间字符串
datetime_str = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S')
print(datetime_str)
# datetime对象转换成时间戳
datetime_stamp = datetime.timestamp(datetime.now())
print(datetime_stamp)

运行结果:

2019-05-29 17:22:37
1559121757.343784

六、datetime将时间字符串转换成时间戳

# 时间字符串转datetime对象,再转时间戳
datetime_stamp2 = datetime.timestamp(datetime.strptime(datetime_str, '%Y-%m-%d %H:%M:%S'))
print(datetime_stamp2)

运行结果:

1559121757.0

七、datetime将时间戳转换成时间字符串

# 时间戳转datetime对象,再转时间字符串
datetime_str2 = datetime.strftime(datetime.fromtimestamp(datetime_stamp2), '%Y-%m-%d %H:%M:%S')
print(datetime_str2)

运行结果:

2019-05-29 17:22:37

在使用datetime进行时间戳和时间字符串之间的转换时,都是先转换成datetime对象,然后再做进一步的转转。

在实际工作中,我们也可以同时使用time和datetime两个模块,它们是可以混合使用的。

到此这篇关于python datetime 和时间戳互转的文章就介绍到这了,更多相关python datetime转时间戳内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python xlwt工具使用详解,生成excel栏位宽度可自适应内容长度

    Python xlwt工具使用详解,生成excel栏位宽度可自适应内容长度

    这篇文章主要介绍了Python xlwt工具使用详解,生成excel栏位宽度可自适应内容长度,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Python永久配置国内镜像源安装再也不用担心卡顿

    Python永久配置国内镜像源安装再也不用担心卡顿

    这篇文章主要为大家介绍了Python如何永久配置国内镜像源,从此安装再也不用担心卡顿,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-10-10
  • Python+OpenCV实现单个圆形孔和针检测

    Python+OpenCV实现单个圆形孔和针检测

    这篇文章主要为大家详细介绍了如何通过Python+OpenCV实现单个圆形孔和针检测功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-10-10
  • python实现一个简单RPC框架的示例

    python实现一个简单RPC框架的示例

    本文将会使用Python实现一个最简单的RPC框架,不具有实用意义,但可以让你清醒地理解RPC框架的几个组成部分,只是比看Python自带的xmlrpc清晰。
    2020-10-10
  • Python向excel中写入数据的方法

    Python向excel中写入数据的方法

    这篇文章主要介绍了Python向excel中写入数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Pytorch学习笔记DCGAN极简入门教程

    Pytorch学习笔记DCGAN极简入门教程

    网上GAN的教程太多了,这边也谈一下自己的理解,本文给大家介绍一下GAN的两部分组成,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-09-09
  • 详解Python 合并字典

    详解Python 合并字典

    这篇文章主要为大家介绍了Python的合并字典,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Python实现七个基本算法的实例代码

    Python实现七个基本算法的实例代码

    这篇文章主要介绍了Python实现七个基本算法的实例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • python list删除元素时要注意的坑点分享

    python list删除元素时要注意的坑点分享

    下面小编就为大家分享一篇python list删除元素时要注意的坑点分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python将脚本程序转变为可执行程序的实现

    Python将脚本程序转变为可执行程序的实现

    本文主要介绍了Python将脚本程序转变为可执行程序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02

最新评论