(Python) Python中三种时间格式的转换方法

1. 时间元组

1.1. 时间元组和时间戳的互相转化

import time,datetime
# 获取当前时间的时间元组
t = time.localtime()
print(t)
# 时间元组转时间戳
timestamp = time.mktime(t)
print(timestamp)
# time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=23, tm_min=15, tm_sec=41, tm_wday=2, tm_yday=296, tm_isdst=0)
# 1571843741.0# 获取时间戳
ts = time.time()
# 时间戳转时间元组
# 方法一
print('法一:',time.localtime(ts))
# 方法二
print('法二:',time.gmtime(ts))
# 两种方法的区别只有小时的输出不同,法一的小时是24小时制的,法二是12小时的
# time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=23, tm_min=10, tm_sec=14, tm_wday=2, tm_yday=296, tm_isdst=0)
# time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=15, tm_min=10, tm_sec=14, tm_wday=2, tm_yday=296, tm_isdst=0)

1.2. 时间元组和字符串的互相转化

import time
# 字符串转时间元组
# 字符类型的时间
t1 = '2013-10-10 23:40:00'
# 转为时间元组,时间元组本身没有直接的用处,但它可以输出时间的年月日时分秒等
# 注意这里的字符串除了%Y %m %d %H %M %S分别代表字符串中的年月日时分秒,
# 这里的格式必须和字符串一模一样,由于字符串中间有空格,它也不能少
timeArray = time.strptime(t1, "%Y-%m-%d %H:%M:%S")
print('并没有直接的用处:', timeArray)
print('输出年:', timeArray.tm_year)
print('输出月:', timeArray.tm_mon)
print('输出日:', timeArray.tm_mday)
print('输出时:', timeArray.tm_hour)
print('输出分:', timeArray.tm_min)
print('输出秒:', timeArray.tm_sec)
# 当用%Y时表示的是年份的全称,当用%y时表示简称,
# 月份和小时没有这种用法,它们只用小写,时分秒的貌似只用大写
t2 = '19/09/05 22/16'
timeArray = time.strptime(t2, "%y/%m/%d %H/%M")
print(timeArray)
# 并没有直接的用处: time.struct_time(tm_year=2013, tm_mon=10, tm_mday=10, tm_hour=23, tm_min=40, tm_sec=0, tm_wday=3, tm_yday=283, tm_isdst=-1)
# 输出年: 2013
# 输出月: 10
# 输出日: 10
# 输出时: 23
# 输出分: 40
# 输出秒: 0
# time.struct_time(tm_year=2019, tm_mon=9, tm_mday=5, tm_hour=22, tm_min=16, tm_sec=0, tm_wday=3, tm_yday=248, tm_isdst=-1)# 时间元组转字符串
ts = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
print(ts)
# 2019/09/05 22:16:00

2. 字符串与时间戳

字符串与时间戳不能直接转化,要通过时间元组来完成,时间元组是中介.

转化关系图:

3. 时间的加减用法

时间元组不能加减,要用datetime格式的时间才能加减.下面是字符串转为datetime后,进行时间加减运算.

import datetime
start = '2019-07-28 00:00:08'
end = '2019-07-29 00:50:03'
# 先将字符串转化为时间格式
a = datetime.datetime.strptime(start, "%Y-%m-%d %H:%M:%S")
b = datetime.datetime.strptime(end, "%Y-%m-%d %H:%M:%S")
print(a,b)
# 只能直接计算秒和天,其它的不能
# seconds获得的秒只是时间差中的小时、分钟和秒部分的和,并没有包含时间差的天数
print((b-a).seconds)
# total_seconds来获取准确的时间差,并将时间差转换为秒
print((b-a).total_seconds())
# 如果不够一天,会输出0
print((b-a).days)
# 时间相加
c = a + datetime.timedelta(hours=5,seconds=68)
d = a - datetime.timedelta(days=69,minutes=89)
print(c,d)
# 2019-07-28 00:00:08 2019-07-29 00:50:03
# 2995
# 89395.0
# 1
# 2019-07-28 05:01:16 2019-05-19 22:31:08

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/109006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国移动集采120万部,助推国产5G赶超iPhone15

近期媒体纷纷传出消息指中国移动将大规模集采,预计将采购国产5G手机120万台,加上另外两家运营商的集采数量,估计集采数量可能达到300万部,如此将有助于它在国内高端手机市场赶超苹果。 国产5G手机在8月底突然上市,获益…

python+pytest接口自动化 —— 参数关联

什么是参数关联? 参数关联,也叫接口关联,即接口之间存在参数的联系或依赖。在完成某一功能业务时,有时需要按顺序请求多个接口,此时在某些接口之间可能会存在关联关系。 比如:B接口的某个或某些请求参数是…

攻防演练蓝队|Windows应急响应入侵排查

文章目录 日志分析web日志windows系统日志 文件排查进程排查新增、隐藏账号排查启动项/服务/计划任务排查工具 日志分析 web日志 dirpro扫描目录,sqlmap扫描dvwa Python dirpro -u http://192.168.52.129 -b sqlmap -u "http://192.168.52.129/dvwa/vulnera…

了解容器运行时安全:保护你的容器应用

前言 容器是一种虚拟化技术,用于封装和运行应用程序及其依赖项,以便在不同的计算环境中保持一致性和可移植性。自2013年容器诞生至今,容器Docker镜像的下载量超20亿,虽然容器行业发展如火如荼,但是其安全风险却不容乐…

Tips linux如何获取当前连接的ssh用户信息

linux ubuntu debian如何获取当前连接的ssh用户信息 这里需要用到一个常用的网络工具netstat,如果没有这个软件可以通过下边的命令安装: sudo apt-get install net-tools安装完成后通过下边的指令获取ssh所有连接用户: netstat -al|grep s…

EKP接口开发Webservice服务和Restservice服务以及定时任务Demo

继承com.landray.kmss.sys.webservice2.interfaces.ISysWebservice,同时在接口上使用WebService注解将其标识为WebService接口 package com.landray.kmss.third.notify.webservice;import com.alibaba.fastjson.JSONObject; import com.landray.kmss.sys.webservic…

学习开发一个RISC-V上的操作系统(汪辰老师) — 一次RV32I加法指令的反汇编

前言 (1)此系列文章是跟着汪辰老师的RISC-V课程所记录的学习笔记。 (2)该课程相关代码gitee链接; (3)PLCT实验室实习生长期招聘:招聘信息链接 前置知识 RISC-V 汇编指令编码格式 &a…

AFL安全漏洞挖掘

安全之安全(security)博客目录导读 ATF(TF-A)/OPTEE之FUZZ安全漏洞挖掘汇总 目录 一、AFL简介 二、AFL的安装 三、代码示例及种子语料库 四、AFL插桩编译 五、AFL运行及测试 六、AFL结果分析 一、AFL简介 模糊测试(Fuzzing)技术作为漏洞挖掘最有…

Go项目踩坑:go get下载超时,goFrame框架下的go项目里将vue项目的dist同步打包发布,go项目打包并压缩

Go项目踩坑:go get下载超时,goFrame框架下的go项目里将vue项目的dist同步打包发布,go项目打包并压缩 go get下载超时goFrame打包静态资源vue项目打包gf pack生成go文件 静态资源使用打包发布go项目交叉编译,省略一些不必要的信息通…

基于闪电连接过程优化的BP神经网络(分类应用) - 附代码

基于闪电连接过程优化的BP神经网络(分类应用) - 附代码 文章目录 基于闪电连接过程优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.闪电连接过程优化BP神经网络3.1 BP神经网络参数设置3.2 闪电连接过程算…

超越平凡:Topaz Photo AI for Mac带您领略人工智能降噪的魅力

在这个充满噪点和高频信息的时代,照片和视频的降噪成为了一个重要而迫切的需求。Mac用户现在有了一个强大的新工具——Topaz Photo AI for Mac,这是一款利用人工智能技术进行降噪和优化的软件。通过这款软件,您可以轻松地改善图像质量&#x…

Ps:变形

Ps菜单:编辑/变换/变形 Edit/Transform/Warp 变形 Warp是自由变换的一种模式,不仅可以用于物体的伸缩扭曲,也可用于人体的局部塑形。 除了从菜单打开,通常情况下,按 Ctrl T 进入自由变换,然后在画面上右击…

分享一份适合练手的软件测试实战项目

最近,不少读者托我找一个能实际练手的测试项目。开始,我觉得这是很简单的一件事,但当我付诸行动时,却发现,要找到一个对新手友好的练手项目,着实困难。 我翻了不下一百个web网页,包括之前推荐练…

单目3D自动标注

这里介绍两种 1. 基于SAM的点云标注 Seal:是一个多功能的自监督学习框架,能够通过利用视觉基础模型的现成知识和2D-3D的时空约束分割自动驾驶数据集点云 Scalability:可拓展性强,视觉基础模型蒸馏到点云中,避免2D和…

算法-堆/归并排序-排序链表

算法-堆/归并排序-排序链表 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/sort-list/description/?envTypestudy-plan-v2&envIdtop-interview-150 1.2 题目描述 2 优先级队列构建大顶堆 2.1 思路 优先级队列构建小顶堆链表所有元素放入小顶堆依次取出堆顶…

30W网络对讲广播一体音柱

SV-7042T 30W网络对讲广播一体音柱 一、描述 SV-7042T是深圳锐科达电子有限公司的一款壁挂式网络有源音柱,具有10/100M以太网接口,可将网络音源通过自带的功放和喇叭输出播放,其采用防水设计,功率可以从20W到40W。SV-7042T作为网…

01【Git的基本使用与底层命令】

下一篇:02【Git的分支与数据恢复】 目录:【Git系列教程-目录大纲】 文章目录 一、Git概述1.1 Git简介1.2 集中式与分布式1.2.1 集中式版本控制1.2.2 分布式版本控制 1.3 Git的使用流程1.3.1 本地仓库1.3.2 协同开发 1.4 Git的配置1.4.1 Git的配置等级1…

华为汪涛:5.5G时代UBB目标网,跃升数字生产力

[阿联酋,迪拜,2023年10月12日] 在2023全球超宽带高峰论坛上,华为常务董事、ICT基础设施业务管理委员会主任汪涛发表了“5.5G时代UBB目标网,跃升数字生产力”的主题发言,分享了超宽带产业的最新思考与实践,探…

MySQL远程连接

一、什么是mysq的远程连接? 1、本地连接 直接在本地使用mysqladmin命令登录 mysql -u root -p 解释如下: mysql:mysql 命令表示要启动 MySQL 客户端。-u root:-u 选项指定要使用的用户名。在这里,我们使用 root 用户名作为示例。-p:-p 选项需要用户输入密码。如果省…