python datetime 和时间戳互相转换问题
作者:A_Prophet 发布时间:2023-12-31 05:32:26
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两个模块,它们是可以混合使用的。
来源:https://blog.csdn.net/A_Prophet/article/details/83011928


猜你喜欢
- 前言如何通过python实现邮件解析?邮件的格式十分复杂,主要是mime协议,本文主要是从实现出发,具体原理可以自行研究。一、安装通过mai
- 该组件基于技术栈,主要涉及vue-cli生成的webpack项目脚手架,在此脚手架项目基础上完成的,整合了element-ui开源vue的U
- 一、使用我使用的是python3,可以自行搜索下载二、安装phone模块pip install phone三、测试代码如下:from pho
- 这篇文章主要介绍了python批量启动多线程代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
- 使用django启动命令行和脚本,可以方便的使用django框架做开发,例如,数据库的操作等。下面分别介绍使用方法。django shell
- 本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052一、Pytorch
- 对于非连续数据集,数据可视化时候需要每七天一个采样点。要求是选择此前最新的数据作为当日的数据展示,譬如今天是2019-06-18,而数据集里
- Python 实现tuple和list的转换1.list列表转换为tuple元组temp_list = [1,2,3,4,5]print(t
- 本篇主要讲述如何基于NUXT的validate方法实现表单的验证。将验证方法封装后,使用的时候只需像:rules="filter_
- 自己写了玩的一个小脚本,百度图片下载import reimport osimport requestsimport hashlibdef d
- 本文实例讲述了ThinkPHP中自定义错误页面和提示页面的方法。分享给大家供大家参考。具体实现方法如下:在ThinkPHP中有两个方法时提示
- 现有:班级表(A_CLASS)学生表( STUDENT)注:学生表(STUDENT)的classId关联班级表(A_CLASS)的主键ID代
- 其实网上有很多关于python2.6.6 升级到python2.7的文章,但是我对比这些类似的文章升级之后,发现其中有错误的地方,于是决定还
- 适配器设计模式是懒得改动某些代码,或者某些接口不方便改动的时候,使用一个特定的封装,一些特定的编写办法,使不同的接口可以使用同种调用方式使用
- 在web自动化测试中,测试工程师经常会碰到frame表单嵌套结构,直接定位会报错,我们需要切换表单后才能成功定位。我拿QQ邮箱登录来作为例子
- hashlib 模块hashlib 模块的介绍hashlib 模块中拥有很多的加密算法,我们并不需要关心加密算法的实现方法。只需要调用我们需
- 本文将介绍 5 种基于 Plotly 的可视化方法,你会发现,原来可视化不仅可用直方图和箱形图,还能做得如此动态好看甚至可交互。那么,Plo
- 在照着Tensorflow官网的demo敲了一遍分类器项目的代码后,运行倒是成功了,结果也不错。但是最终还是要训练自己的数据,所以尝试准备加
- 通过获取子图的label和线型来合并图例注意添加label#导入数据(读者可忽略)pre_lp=total_res#组合模型true=dif
- 前言本文介绍的是DDCTF第五题,绕过未知字段名的技巧,这里拿本机来操作了下,思路很棒也很清晰,分享给大家,下面来看看详细的介绍:实现思路题