IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python日期和时间的操作 -> 正文阅读

[Python知识库]python日期和时间的操作

转自:微点阅读(www.weidianyuedu.com)微点阅读 - 范文大全 - 免费学习知识的网站

日期和时间可以说是一种独特的数据类型,既不同于数字,也不同于字符串,而且有自己独特的运算规则。在不同的编程语言中,都会将日期和时间与常规的数据类型独立开来,单独进行操作。在python的内置模块中,时间与日期相关的有以下3个

datatime

time

calendar

在实际开发中,处理日期和时间主要有以下3种场景

获取当前的日期和时间

格式化日期和时间

计算两个时间的差值

在进行日期和时间操作前,我们必须先理解以下几个常用的术语

格林威治标准时间,英文缩写为GMT是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间

时间起点,国际标准的时间起点为1970年1月1日00:00:00

时间戳,当前时间与时间起点之间经过的秒数

时区,不同国家,地区之间存在时差,为了方便换算,规定格林尼治天文台为中时区,依次为零点,每15经度定义一个时区,每个时区时差为1小时,全球共划分为24个时区

夏令时,英文缩写为DST,是一种人为规定的时间制度,在夏季将时间调快1小时,以达到早睡早起,节约能源的目的,在秋冬季的某一天再将时间调整回来。世界范围内有一百多个国家实行夏令时制度,每个国家的夏令时起止时间不同,我国从1992年之后,不再实行夏令时

下面来看每个模块的常见用法

1. time该模块主要用来获取当前时间,并进行格式化,基本用法如下

>>> import time# 返回时间戳>>> time.time()1589853649.8406465# 以struc_time元组的形式返回当前时间>>> time.localtime()time.struct_time(tm_year=2020, tm_mon=5, tm_mday=19, tm_hour=9, tm_min=6, tm_sec=56, tm_wday=1, tm_yday=140, tm_isdst=0)# 以struc_time元组的形式返回当前时间>>> time.gmtime()time.struct_time(tm_year=2020, tm_mon=5, tm_mday=19, tm_hour=2, tm_min=0, tm_sec=8, tm_wday=1, tm_yday=140, tm_isdst=0)struc_time元组包含了9个元素,每个元素的含义如下

tm_year,?表示年份,四位数

tm_mon,?表示月份,1到12之间的一个数字

tm_mday,表示每月的第几天,1到31之间的一个数字

tm_hour,?表示小时,0到23之间的一个数字

tm_min,?表示分钟数,0到59之间的一个数字

tm_sec,?表示秒数,0到61之间第一个数字

tm_wday,表示星期,0到6之间的一个数字,0表示星期一,依次类推

tm_yaday,表示一年中的第几日,1到366之家的一个数字

tm_isdst, 是否为夏令时,1表示是,0表示否,-1表示未知

struc_time元组可以轻松访问其中的内容,用法如下

>>> time.localtime().tm_year2020>>> time.localtime().tm_mon5>>> time.localtime().tm_mday19>>> time.localtime().tm_hour10>>> time.localtime().tm_min50>>> time.localtime().tm_sec18

日期的格式化和字符串格式化类似,内置了格式化标识符,通过strftime函数来进行格式化,每个标识符的作用如下

# %a表示星期的缩写>>> time.strftime("%a", time.localtime())"Tue"# %A表示星期的全称>>> time.strftime("%A", time.localtime())"Tuesday"# %b表示月份的缩写>>> time.strftime("%b", time.localtime())"May"# %B表示月份的全称>>> time.strftime("%B", time.localtime())"May"# %c表示>>> time.strftime("%c", time.localtime())"Tue May 19 09:33:57 2020"# %d表示每月的第几天>>> time.strftime("%d", time.localtime())"19"# %H为十进制表示的小时, 24小时制,范围为00-23>>> time.strftime("%H", time.localtime())"09"# %I为十进制表示的小时,12小时制,范围为01-12>>> time.strftime("%I", time.localtime())"09"# %j表示一年中的第几天>>> time.strftime("%j", time.localtime())"140"# %m表示十进制的月份,范围为01-12>>> time.strftime("%m", time.localtime())"05"# %M表示十进制的分钟,范围为00到59>>> time.strftime("%M", time.localtime())"34"# %p表示上午或者下午,值为AM或PM>>> time.strftime("%p", time.localtime())"AM"# %S表示秒数,范围00到61>>> time.strftime("%S", time.localtime())"36"# %U表示一年中的周数,范围为00-53>>> time.strftime("%U", time.localtime())"20"# %w表示一周中的第几天,范围0-6,0表示星期日,以此类推>>> time.strftime("%w", time.localtime())"2"# %W表示一年中的周数,范围为00-53>>> time.strftime("%W", time.localtime())"20"# %x以本地规则表示日期>>> time.strftime("%x", time.localtime())"05/19/20"# %X以本地规则表示时间>>> time.strftime("%X", time.localtime())"09:34:51"# %y表示没有世纪的年份,即4位数年份的后两位>>> time.strftime("%y", time.localtime())"20"# %Y表示完整年份>>> time.strftime("%Y", time.localtime())"2020"# %z表示时区偏移>>> time.strftime("%z", time.localtime())"+0800"# %Z 表示时区名称>>> time.strftime("%Z", time.localtime())"CST"# %% 表示一个百分号字面值>>> time.strftime("%%", time.localtime())"%"

如果只是简单的格式化当前日期,内置的函数acstime和ctime是最简单的方式,当然也可以用多种格式化标识符进行组合,灵活的格式化日期,用法如下

>>> time.asctime()"Tue May 19 10:52:51 2020"

>>> time.ctime()"Tue May 19 09:59:11 2020"

>>> time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())"2020-05-19 09:50:50"2. datetimedatetime是日期和时间处理的基本模块,当然也支持获取当前日期和格式化,其更独特的功能是进行时间的运算,比如计算两个日期之间差了几天,用法如下

>>> import datetime# 获取当前日期>>> a = datetime.date.today()>>> datetime.date.today()datetime.date(2020, 5, 19)# 获取年,月,日>>> a.year2020>>> a.month5>>> a.day19# 格式化>>> a.isoformat()"2020-05-19"

# 获取当前的日期和时间>>> datetime.datetime.now()datetime.datetime(2020, 5, 19, 10, 56, 50, 225742)>>> a = datetime.datetime.now()# 获取年,月,日,时,分,秒>>> a.year2020>>> a.month5>>> a.day19>>> a.hour10>>> a.minute56>>> a.second53

# 计算前一天的时间>>> datetime.datetime.now() - datetime.timedelta(days = 1)datetime.datetime(2020, 5, 18, 11, 5, 40, 612206)# 计算1小时后的时间>>> datetime.datetime.now() + datetime.timedelta(seconds =3600)datetime.datetime(2020, 5, 19, 12, 8, 3, 839407)3.? calendar该模块用于处理日历信息,内置了月份和星期的列表,可以当做一个常量来使用,用法如下

# 月份的列表>>> [i for i in calendar.month_name]["", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]# 星期的列表>>> [i for i in calendar.day_name]["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]除此之外,也提供了一些年份相关的函数

# 判断一个年份是否为闰年>>> calendar.isleap(1997)False>>> calendar.isleap(2020)True# 返回两个年份间闰年的个数>>> calendar.leapdays(1997, 2020)5对于日期和时间而言,最常用的还是time和datetime两个模块,掌握常用的日期获取和格式化操作,就足够应付大多数的开发需求了。

·end·

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-03 12:59:47  更:2021-12-03 13:00:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:48:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码