python3 中时间戳、时间、日期的转换和加减操作


Posted in Python onJuly 14, 2020

1.当前时间戳转换为指定格式的日期

# -*- coding: utf-8 -*-
# @Time  : 2019/5/31 10:56
# @Author : 甄超锋
# @Email  : 4535@sohu.com
# @File  : test.py
# @Software: PyCharm

import datetime
import time
# 使用time
timeStamp = time.time() # 1559286774.2953627
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime)  # 2019-05-31 15:12:54
# 使用datetime
timeStamp = time.time() # 1559286774.2953627
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
print(otherStyleTime)  # 2019-05-31 07:12:54

2.把字符串类型的日期转换为时间戳

# -*- coding: utf-8 -*-
# @Time  : 2019/5/31 10:56
# @Author : 甄超锋
# @Email  : 4535@sohu.com
# @File  : test.py
# @Software: PyCharm

import time
# 字符类型的时间1
tss1 = '2019-05-31 15:12:54'
# 转为时间数组
timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")
print(timeArray)
# timeArray可以调用tm_year等
print(timeArray.tm_year)  # 2019
# 字符类型的时间2
tss2 = "Fri Jun 21 13:22:37 +0800 2019"
timeArray = time.strptime(tss2, "%a %b %d %H:%M:%S %z %Y")
# timeArray可以调用tm_year等
print(timeArray.tm_year)  # 2019
# 转为时间戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp) # 1559286774

3.更改str类型日期的显示格式

# -*- coding: utf-8 -*-
# @Time  : 2019/5/31 10:56
# @Author : 甄超锋
# @Email  : 4535@sohu.com
# @File  : test.py
# @Software: PyCharm

import time
import datetime
tss2 = "2019-05-31 15:12:54"
# 转为数组
timeArray = time.strptime(tss2, "%Y-%m-%d %H:%M:%S")
# 转为其它显示格式
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
print(otherStyleTime) # 2019/05/31 15:12:54

tss3 = "2019/05/31 15:12:54"
timeArray = time.strptime(tss3, "%Y/%m/%d %H:%M:%S")
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime) # 2019-05-31 15:12:54

tss4 = "2019/05/31 15:12:54"
otherStyleTime = datetime.datetime.strptime(tss4, "%Y/%m/%d %H:%M:%S").strftime("%Y-%m-%d %H:%M:%S")
print(otherStyleTime) # 2019-05-31 15:12:54

4.日期的加减

两个日期的加减,计算间隔多少天。

# -*- coding: utf-8 -*-
# @Time  : 2019/5/31 10:56
# @Author : 甄超锋
# @Email  : 4535@sohu.com
# @File  : test.py
# @Software: PyCharm

import datetime
d1 = datetime.datetime.strptime('2019-05-31 15:12:54', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime('2019-05-22 15:12:54', '%Y-%m-%d %H:%M:%S')
delta = d1 - d2
print(delta.days) # 9 间隔9天

今天3天后的日期。

# -*- coding: utf-8 -*-
# @Time  : 2019/5/31 10:56
# @Author : 甄超锋
# @Email  : 4535@sohu.com
# @File  : test.py
# @Software: PyCharm

import datetime
now = datetime.datetime.now()
delta = datetime.timedelta(days=3)
n_days = now + delta
print(n_days.strftime('%Y-%m-%d %H:%M:%S')) # 2019-06-03 15:38:32

今天3天前的日期。

# -*- coding: utf-8 -*-
# @Time  : 2019/5/31 10:56
# @Author : 甄超锋
# @Email  : 4535@sohu.com
# @File  : test.py
# @Software: PyCharm

import datetime
now = datetime.datetime.now()
delta = datetime.timedelta(days=3)
n_days = now - delta
print(n_days.strftime('%Y-%m-%d %H:%M:%S')) # 2019-05-28 15:39:33

在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别。

构造方法:

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

所有的参数都有默认值0,这些参数可以是int或float,正的或负的。

可以通过timedelta.days、tiemdelta.seconds等获取相应的时间值。

timedelta类的实例,支持加、减、乘、除等操作,所得的结果也是timedelta类的实例。

由于tiemdelta最高只能减去天数 所以减月份要用另一个方法下面的是现在的时间减去3个月 得到3个月前的日期

import datetime
import dateutil.relativedelta
now_date_time = datetime.datetime.now()
month_date = now_date_time + dateutil.relativedelta.relativedelta(months=-3)

日期时间格式化(带毫秒)

import datetime

print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')) # 2019-01-28 11:09:01.529864

以上这篇python3 中时间戳、时间、日期的转换和加减操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之集成开发环境(IDE)
Sep 12 Python
python实现去除下载电影和电视剧文件名中的多余字符的方法
Sep 23 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
Aug 30 Python
教你使用python实现微信每天给女朋友说晚安
Mar 23 Python
python爬虫_实现校园网自动重连脚本的教程
Apr 22 Python
python读取文件名并改名字的实例
Jan 07 Python
python selenium firefox使用详解
Feb 26 Python
Python multiprocessing多进程原理与应用示例
Feb 28 Python
python爬虫豆瓣网的模拟登录实现
Aug 21 Python
python自动化测试之异常及日志操作实例分析
Nov 09 Python
windows下Pycharm安装opencv的多种方法
Mar 05 Python
Python3中PyQt5简单实现文件打开及保存
Jun 10 Python
python转化excel数字日期为标准日期操作
Jul 14 #Python
Python 实现将某一列设置为str类型
Jul 14 #Python
使用python编写一个语音朗读闹钟功能的示例代码
Jul 14 #Python
利用python对excel中一列的时间数据更改格式操作
Jul 14 #Python
Python库安装速度过慢解决方案
Jul 14 #Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
Jul 14 #Python
python实现xlwt xlrd 指定条件给excel行添加颜色
Jul 14 #Python
You might like
php.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
php使用qr生成二维码的示例分享
2014/01/20 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
javascript 获取表单file全路径
2009/12/31 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
jquery 的 $("#id").html() 无内容的解决方法
2010/06/07 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
vue transition 在子组件中失效的解决
2019/11/12 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
vue+element实现动态加载表单
2020/12/13 Vue.js
详解Python中for循环的使用方法
2015/05/14 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
python查询文件夹下excel的sheet名代码实例
2019/04/02 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
PyTorch中的Variable变量详解
2020/01/07 Python
python中的对数log函数表示及用法
2020/12/09 Python
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
交通专业个人自荐信格式
2013/09/23 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
《充气雨衣》教学反思
2014/04/07 职场文书
个人借款协议书范本
2014/11/17 职场文书
锅炉工岗位职责
2015/02/13 职场文书
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python