python-datetime模块使用-全

发布时间:2024年01月17日

python中时间日期格式化符号:

%y 两位数的年份表示 (00-99)

%Y 四位数的年份表示 (000-9999)

%m 月份 (01-12)

%d 月份中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数 (00-59)

%S 秒 (00-59)

%a 本地简化星期名称

%A 本地完整星期名称

%b 本地简化月份名称

%B 本地完成月份名称

%c 本地对应的日期表示和时间表示

%j 年内的一天(001-366)

%p 本地A.M.或P.M.的等价符

%U 一年中的星期数(00-53)星期天为星期的开始

%w 星期(0-6)星期天为开始的

%W 一年中的星期数(00-53)星期一为星期的开始

%x 本地相应的日期表示

%X 本地相应的时间表示

%Z 当前时区的名称

%% %号本身

函数作用
datetime.date(year, mouth,day)获取某天日期,返回日期格式
datetime.date.fromtimestamp(timestamp)从时间戳获取日期
datetime.date.today()获取当前日期
1.1 datetime.date(year, mouth,day)

获取某天日期,返回日期格式

a = datetime.date(2020,2,23)
print(a)
print(type(a))

image-20240117120757560

1.1.1datetime.date格式的重要性
使用作用
a.year提取年,输出2024,类型为 int
a.month提取月,输出1,类型为int
a.day提取日,输出17,类型为int
a.isoformat()提取该日期的字符串,输出2024-01-17
a.replace(a.year,7,a.day)替换日期,把月替换为7月
a.isoweekday()返回 iso 星期几。monday=1
a.weekday()返回非iso的星期几,monday=0
a.strftime(‘%Y/%m/%d’)返回该日期的字符串。输出2024-01-17,类型为str。假如不需要日,把/%d去掉即可。中间分隔支持任意英文字符,如 / ,但不支持中文。
a.timetuple()结构化日期,返回日期时间元组。包括 年月日时分秒 非iso星期 年日数 夏令时。
a.toordinal()返回公历序数。即从公历开始算,是第几日。
a.ctime()返回英文的时间格式标准

datetime.date格式都可以使用这个表中的函数去获取属性

a = datetime.date(2020,2,23)
print(a.year)
print(a.month)
print(a.day)
print(a.isoformat())
print(a.replace(a.year,7,a.day))
print(a.isoweekday())
print(a.weekday())
print(a.strftime('%Y/%m/%d'))
print(a.timetuple())
print(a.toordinal())
print(a.ctime())

image-20240117125130056

1.2 datetime.date.fromtimestamp(timestamp)

从时间戳获取日期

a = datetime.date.fromtimestamp(1681925739)
print(type(a))
print(a)

image-20240117140303953

1.3 datetime.date.today()

获取当前日期

a = datetime.date.today()
print(type(a))
print(a)

image-20240117140418282

2. datetime.time

函数作用
datetime.time(hour, minute,second,millisecond)获取时间,返回时间格式
2.1 datetime.time(hour, minute,second,millisecond)

获取时间,返回时间格式

a = datetime.time(20,20,20,10000)
print(type(a))
print(a)

image-20240117140523418

2.1.1 datetime.time格式重要属性
属性作用
a.hour提取时
a.minute提取分
a.second提取秒
a.microsecond提取毫秒
a.isoformat返回该时间的字符串。输出 12:03:56:888888
a.replace(second=44)把秒替换成44,返回的格式为 datetime.time
a.strftime(‘%H:%M:%S’)格式化时间,输出指定格式的字符串
a.tzname()返回时区名称
a.utcoffset()返回时区的时间偏移量

datetime.time格式都可以使用这些函数去提取属性

a = datetime.time(20,20,20,10000)
print(a.hour)
print(a.minute)
print(a.second)
print(a.microsecond)
print(a.isoformat(),type(a.isoformat()))
print(a.replace(second=44,minute=44),type(a.replace(second=44,minute=44)))
print(a.strftime('%H-%M-%S'))

image-20240117141554666

3. datetime.datetime

函数作用
datetime.datetime(year, month,day,hour,minute,second,microsecond)获取某天日期时间,至少传入 year,mouth,day 三个参数
datetime.datetime.now()获取当前的日期时间
datetime.datetime.today()获取当前的日期时间
datetime.datetime.fromtimestamp(timestamp)从时间戳获取日期时间
datetime.datetime.utcnow()获取现在的格林尼治时间
datetime.datetime.utcfromtimestamp(timestamp)从时间戳获取林尼治时间
datetime.datetime.combine(date,time)通过连接日期和时间生成日期时间
datetime.datetime.timestamp(dt)获取时间戳
datetime.datetime.strptime(string,format)把字符串类型转化为日期时间
datetime.timedalta(weeks,days,hours,minutes,seconds,milliseconds,microseconds)时间增量,可作时间的加减
3.1 datetime.datetime(year, month,day,hour,minute,second,microsecond)

获取某天日期时间,至少传入 year,mouth,day 三个参数

a = datetime.datetime(2024,1,1,1,1,1,1000)
print(a)
print(type(a))

3.1.1 datetime.datetime格式的重要属性
属性作用
a.date()提取日期,返回的类型为 datetime.date
a.time()提取时间,返回的类型为 datetime.time
a.year提取年
a.mouth提取月
a.day提取日
a.hour提取时
a.minute提取分
a.second提取秒
a.microsecond提取毫秒
a.timestamp()提取时间戳
a.timetuple()返回日期时间元组
a.isoweekday()返回iso星期几,Monday=1
a.weekday()返回非iso星期几,Monday=0
a.replace(mouth=2)把月替换成2,类型还时 datetime.datetime
a.strftime(‘%Y/%m/%d %H:%M:%S:%f’)格式化日期时间。输出指定格式字符串。中间分隔支持任意英文字符,如 / : ,但不支持中文。
a.toordinal()返回公历序数。即从公历开始算,是第几日。
a = datetime.datetime(2024,1,1,1,1,1,1000)
print(a.date(),type(a.date()))
print(a.time(),type(a.time()))
print(a.year)
print(a.month)
print(a.day)
print(a.hour)
print(a.minute)
print(a.second)
print(a.microsecond)
print(a.timestamp())
print(a.timetuple())
print(a.isoweekday())
print(a.weekday())
print(a.replace(month=2))
print(a.strftime('%Y/%m/%d %H:%M:%S:%f'))
print(a.toordinal())

image-20240117145246813

3.2 datetime.datetime.now()

获取当前的日期时间

a = datetime.datetime.now()
print(a)

image-20240117145504336

3.3 datetime.datetime.today()

获取当前的日期时间

a = datetime.datetime.today(1681969157)
print(a)

image-20240117145533967

3.4 datetime.datetime.fromtimestamp(timestamp)

从时间戳获取日期时间

a = datetime.datetime.fromtimestamp(1681969157)
print(a)

image-20240117145654921

3.5 datetime.datetime.utcnow()

获取现在的格林尼治时间

a = datetime.datetime.utcnow()
print(a)

image-20240117145731721

3.6 datetime.datetime.utcfromtimestamp(timestamp)

从时间戳获取林尼治时间

a = datetime.datetime.utcfromtimestamp(1681969157)
print(a)

image-20240117145759098

3.7 datetime.datetime.combine(date,time)

通过连接日期和时间生成日期时间

a = datetime.date(2020,12,31)
b = datetime.time(12,21,21)
c = datetime.datetime.combine(a,b)
print(c)

image-20240117145928467

3.8 datetime.datetime.timestamp(dt)

获取时间戳,和 dt.timestamp()一样。

a = datetime.datetime.timestamp(datetime.datetime.now())
print(a)

image-20240117150046860

3.9 datetime.datetime.strptime(string,format)

把字符串类型转化为日期时间

# 使用 strptime 解析字符串  
date_string = "2023-07-18"  
date_object = datetime.datetime.strptime(date_string, "%Y-%m-%d")  
print(type(date_object))
print(date_object)  # 输出:2023-07-18 00:00:00

image-20240117150221259

3.10 datetime.timedalta(weeks,days,hours,minutes,seconds,milliseconds,microseconds)

时间增量,可作时间的加减

a = datetime.datetime(2023,4,18,15,16,20)
print(a)
 
delta = datetime.timedelta(days=5,minutes=23,seconds=37)
b = a + delta
print(b)

image-20240117154712244

时间差

可以直接对两个时间进行减法,从而产生时间增量 timedelta。时间增量可以为负,也可以为正。如算我国时间与格林尼治的时间差:

a = datetime.datetime.now()
b = datetime.datetime.utcnow()
print(a - b)
print(b - a)
print(type(a - b))

image-20240117154757273

文章来源:https://blog.csdn.net/XiaoLinZuoTi/article/details/135652606
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。