首页 > 编程语言 >python 时间与日期模块总结

python 时间与日期模块总结

时间:2022-09-27 22:07:36浏览次数:43  
标签:2022 python datetime 日期 tm 模块 time 元组 取值

python标准库中关于日期和时间的库主要有三个:calendartimedatetime

1.calemdar模块

calendar模块在日历的获取、显示以及年份是否为闰年等方面有诸多函数支持

1.1打印日历

import calendar
# 输出2022年9月份的日历
print(calendar.month(2022, 9))
  • 输出结果
   September 2022
Mo Tu We Th Fr Sa Su
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

1.2 判断是否为闰年

# 判断是否为闰年
calendar.isleap(2022)
  • 输出结果
False

2.time 模块

time主要功能体现在时间计算、处理以及显示格式上

2.1显示当前时间

  1. 使用time( )方法可以返回字1970年1月1日起0时0分0秒为计时器点的时间戳
# 返回当前时间戳
time.time()
  • 输出结果
1664183018.168783
  1. 如果想要获取年月日形式的时间,则可以采用localtime( )asctime( )ctime( )方法来实现
  • 三者的比较
方法名 参数 返回结果
localtime() 时间戳 时间元组形式
ctime() 时间戳 字符串形式
asctime() 时间元组 字符串形式
  • 实例
t1 = time.localtime(2022)
print(t1)

time.ctime(2022)

time.asctime(t1)
  • 输出结果
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=33, tm_sec=42, tm_wday=3, tm_yday=1, tm_isdst=0)

'Thu Jan  1 08:33:42 1970'

'Thu Jan  1 08:33:42 1970'
  1. 补充

localtime()函数返回值为时间元组,struct_time元组为时间元组,将诸多时间相关属性存储成元组的形式。

struct_time元组有9个属性元素,9个元素代表的意义如下表所示。

元素下标值 属性 含义
tm_year 年(四位数形式) 2022
1 tm_mon 1~12
2 tm_mday 1~31
3 tm_hour 0~23
4 tm_min 0~59
5 tm_sec 0~61
6 tm_wday 一周中的第几天 0~6(0代表一周)
7 tm_yday 一年中的第几天 0~366
8 tm_isdst 夏令时 -1,0或1

2.2字符与时间的转换

时间数据在文件中一般保存成字符串形式,如“12/02/2016”,通过 time模块中的strftime()方法和strptime()方法可实现时间的字符串形式与时间元组形式互相转换。

两个函数的参数形式如下:

# strptime函数将特定形式的字符串形式转换成时间元组
time.strptime(string[, format])

# strftine()函致将时间元组转换成特定形式的时间元组
time.strftime(format [, t])
  • 举个例子
from time import strftime, strptime

t1 = strptime("22/09/2021", "%d/%m/%Y")
print(t1)

strftime("%d %b %y", t1)
  • 输出结果
time.struct_time(tm_year=2021, tm_mon=9, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=265, tm_isdst=-1)

'22 Sep 21' 

上述代码中," $%d/%m/%Y$ " 表示的是时间格式,具体含义可参照下表:

符号格式 含义 取值(字符格式)
$%y$ 略去世纪的两位十进制数年份 取值为00~ 99(如“16”)
$%Y$ 完全形式的年份 如“2016”
$%m$ 返回月份值 取值为01~12(如“02")
$%b$ 本地简化月份名称 月份简写的英文名称(如“Feb")
$%B$ 本地全部月份名称 月份英文名称(如“February")
$%d$ 每个月天数的十进制形式 取值为01~31(比如,02代表2日)
$%a$ 本地简化星期名称 如“Sat”
$%A$ 本地完整星期名称 如“Saturday”
$%w$ 十进制数字表示星期 取值0~6,0表示星期天
$%W$ 一年中的星期数 取值00~53,星期一为星期的开始;在新年第一个星期一之前的所有天数都视为00周
$%U$ 一年中的星期数 取值00 ~53,星期天为星期的开始;在新年第一个星期天之前的所有天数都视为00周
$%H$ 二十四小时制时间 取值为00~ 23
$%I$ 十二小时制时间 取值为01~ 12
$%M$ 分钟 取值为00~59
$%S$ 取值为00~61(考虑到闰秒的情况)

3.datetime模块

datetime模块的作用和time模块十分相似,经常用于一些转换和运算操作

3.1获取当前时间

from datetime import datetime
now = datetime.now()
now
  • 输出结果
datetime.datetime(2022, 9, 26, 21, 56, 17, 575501)

3.2进行时间的加减

datetime对象进行减法运算后会返回一个timedelta对象,表示一个时间段

delta = datetime(2022, 9, 10) - datetime(2022, 9, 1)
delta
  • 输出结果
datetime.timedelta(days=9)

3.3字符串与日期的转换

同样的,datetime中也有strftimestrptime用作字符串和日期之间的转换

  • 举个例子
now = datetime.now()
datetime.strftime(now, "%d/%m/%Y")

datetime.strptime("2022-09-23", "%Y-%m-%d")
  • 输出结果
'26/09/2022'

datetime.datetime(2022, 9, 23, 0, 0)

==如果认为设置“ $%d/%m/%Y$ ”这种日期格式十分麻烦,可以使用deteutil的第三方包paser.pars()函数实现自动转移,它能够解析几乎任何格式(当然也可能会带来一些麻烦,如:parse("10"))==

  • 举个栗子
from dateutil.parser import parse
parse("23-09-2022", dayfirst=True)

parse("23-09-2022")

parse("10")  # 会默认为当月的10号进行解析
  • 输出结果
datetime.datetime(2022, 9, 23, 0, 0)

datetime.datetime(2022, 9, 23, 0, 0)

datetime.datetime(2022, 9, 10, 0, 0)

标签:2022,python,datetime,日期,tm,模块,time,元组,取值
From: https://blog.51cto.com/coderusher/5714423

相关文章

  • python流程控制理论
    今日内容概要垃圾回收机制流程控制理论(重要)流程控制之分支结构(重要)流程控制之循环结构(重要)今日内容详细垃圾回收机制"""有一些语言内存空间的申请和......
  • Python入门基础
    今日份内容概要垃圾回收机制控制流程理论控制流程之分支结构控制流程之循环结构今日内容详情任何的语言,使用内存空间的申请和释放都需要程序员自己写代码才能完成......
  • python st
    #######numpy.ndarray转为dataframelr_info=data1.uns['lr_summary']lr_scores=data1.obsm['lr_scores']df_lr_scores=pd.DataFrame(data=lr_scores[0:,0:],col......
  • python垃圾回收机制与流程控制
    垃圾回收机制有一些语言,内存空间的申请和清除都需要程序员自己写代码才可以完成,但是在python中却不需要,通过垃圾回收机制自动管理1.引用计数name='lizhi'表示数......
  • Python cv2(Opencv) Canny边缘检测 和 傅里叶变换
    OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效,由一系列C函数和少......
  • 垃圾回收、python中的流程控制
    垃圾回收机制1.概念垃圾回收机制(GC):是Python解释器自带一种机制,专门用来回收不可用的变量值所占用的内存空间2.原理Python的垃圾回收机制(GC)主要使用引用计数(referen......
  • Python之垃圾回收机制与流程控制
    python之垃圾回收机制与流程控制目录一、垃圾回收机制二、流程控制1.流程控制理论2.流程控制的必备python知识3.流程控制之分支结构(ifelse语句)(1)单if分支结构(2)if...el......
  • Python基础5
    今日内容概要垃圾回收机制流程控制理论流程控制必备知识分支结构循环结构作业今日内容详细垃圾回收机制  有一些语言内存空间的申请和释放都需......
  • 日期循环(day循环)
    importdatetimedefday_range(bgn,end):fmt='%Y%m%d'begin=datetime.datetime.strptime(bgn,fmt)end=datetime.datetime.strptime(end,fmt)delta=......
  • python之基本数据类型
    python之基本数据类型目录基本数据类型(知识点整合)1.整型int2.浮点型float3.字符串string4.列表list5.字典dictionary6.布尔值bool7.元组tuple8.集合set基本数据类型(知......