您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:详解python日期时间处理

51自学网 2022-02-21 10:45:15
  python
这篇教程详解python日期时间处理写得很实用,希望能帮到您。

讲了很多数据容器操作,这篇我们看看时间的处理。

开发中常用的日期操作有哪些?

  • 获取当前时间
  • 获取系统秒数(从纪元时间开始)
  • 日期跟秒数之间转换
  • 获取日历等
  • 日期格式化显示输出

这些都非常常见

在python 主要有下面两个模块涵盖了常用日期处理

import timeimport calender

我们看看这两个模块。

time 内置模块

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/11/10 22:49 下午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷学委# @XueWeiTag: CodingDemo# @File : __init__.py.py# @Project : helloimport time# 从19700101 零时刻开始计算经过多少秒,精确到微秒ticks = time.time()print("ticks=", ticks)#获取当前时间print(time.localtime())

运行效果如下:

这个ticks就是从0时刻计算,至今的秒数累计。

可以隔一秒运行这个程序,每次ticks值加上1(近似)

指定输入来构造时间:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/11/10 22:49 上午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷学委# @XueWeiTag: CodingDemo# @File : createtime.py# @Project : helloimport time#fixed time: time.struct_time(tm_year=2021, tm_mon=11, tm_mday=10, tm_hour=22, tm_min=55, tm_sec=11, tm_wday=16, tm_yday=16, tm_isdst=16)fixed = time.struct_time((2021, 11, 10, 22, 55, 11, 16, 16, 16))print("fixed time:", fixed)

运行效果如下:

calender 内置模块

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/11/10 22:49 上午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷学委# @XueWeiTag: CodingDemo# @File : calendardemo.py# @Project : helloimport calendarcal = calendar.month(2021, 11)print("cal:", cal)

至今输出一个月份,这个在Java的Calendar中也没有。太直接了。

日期格式化处理

这里我们使用了time模块的strftime(str from time):

#第一个参数为格式,第二个参数为时间time.strftime("%Y-%m-%d %H:%M:%S %Z", gmtime))
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/11/10 22:49 上午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷学委# @XueWeiTag: CodingDemo# @File : createtime2.py# @Project : helloimport timesec = 3600  # 纪元开始后的一个小时(GMT 19700101凌晨)#gmtime = time.gmtime(sec)print("gmtime:", gmtime)  # GMTprint("type:", type(gmtime))print(time.strftime("%b %d %Y %H:%M:%S", gmtime))print(time.strftime("%Y-%m-%d %H:%M:%S", gmtime))print(time.strftime("%Y-%m-%d %H:%M:%S %Z", gmtime))  # 打印日期加上时区print("*" * 16)localtime = time.localtime(sec)print("localtime:", localtime)  # 本地时间print("type:", type(localtime))print(time.strftime("%b %d %Y %H:%M:%S", localtime))print(time.strftime("%Y-%m-%d %H:%M:%S", localtime))print(time.strftime("%Y-%m-%d %H:%M:%S %Z", localtime))  # 打印日期加上时区# 试试其他格式print(time.strftime("%D", localtime))print(time.strftime("%T", localtime))

稍微解释一下:

%Y-%m-%d %H:%M:%S %Z 对应的是
年份4位数-月份-日期 小时:分钟:秒数 时区信息
%b 则是三个字母英文输出月份,比如Jan/Feb 等。

下面是运行结果:

总结

Python 提供的日期处理都非常简单,但是在创建日期方面使用time模块没有那么方便,需要对应元组下标才行。

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注51zixue.net的更多内容!


Pygame实现监听鼠标示例详解
Python循环语句介绍
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。