【datetime库的使用】

本文介绍了Python datetime库的基础用法,包括获取当前时间和UTC时间、日期和时间对象的创建、属性访问以及日期时间的格式化。重点讲解了如何使用isoformat(), isoweekday(), 和 strftime() 方法来展示日期的不同格式。
摘要由CSDN通过智能技术生成

datetime库概述

以不同格式显示日期和时间是程序中最常用到的功能。
Python提供了一个处理时间的标准函数库datetime,它提供了一系列由简单到复杂的时间处理方法。datetime库可以从系统中获得时间,并以用户选择的格式输出。
datetime库以类的方式提供多种日期和时间表达方式:
  • datetime.date:日期表示类,可以表示年、月、日等
  • datetime.time:时间表示类,可以表示小时、分钟、秒、毫秒等
  • datetime.datetime:日期和时间表示的类,功能覆盖date和time类
  • datetime.timedelta:时间间隔有关的类
  • datetime.tzinfo:与时区有关的信息表示类

 datetime库解析

使用datetime.now()获得当前日期和时间对象,使用方法如下:
datetime.now ()
作用 :返回一个datetime类型,表示当前的日期和时间,精确到微秒
#coding=utf-8
from datetime import datetime
today = datetime.now()
print(today)

输出结果:2022-04-08 19:30:28.379697


使用datetime.utcnow()获得当前日期和时间对应的UTC(世界标准时间)时间对象,使用方法如下:

datetime.utcnow ()
作用 :返回datetime类型,表示当前日期和时间的UTC表示,精确到微秒。
#coding=utf-8
from datetime import datetime

today = datetime.utcnow()
print(today)
输出结果:2022-04-08 11:38:20.415366

datetime.now() 和 datetime.utcnow() 都返回一个datetime类型的对象,也可以直接使用datetime()构造一个日期和时间对象,使用方法如下:
datetime(year, month, day, hour=0, minute=0,second=0, microsecond=0 )
作用 :返回一个datetime类型,表示指定的日期和时间,可以精确到微秒。
调用datetime()函数直接创建一个datetime对象,表示2022年4月8日19:30,32秒6微秒,执行结果如下:
#coding=utf-8
from datetime import datetime

someday = datetime(2022, 4, 8, 19, 30, 32, 6)
print(someday)

输出结果:2022-04-08 19:30:32.000006


程序已经有了一个datetime对象,进一步可以利用这个对象的属性显示时间,为了区别datetime库名,采用上例中的someday代替生成的datetime对象

属性

描述

someday.min固定返回datetime 的最小时间对,datetime(1,1,1,0,0)

someday.max

固定返回datetime的最大时间对象,datetime(9999,12,31,23,59,59,999999)

someday.year

返回someday包含的年份

someday.month

返回someday包含的月份

someday.day

返回someday包含的日期

someday.hour

返回someday包含的小时

someday.minute

返回someday包含的分钟

someday.second

返回someday包含的秒钟

someday.microsecond

返回someday包含的微秒值


时间格式化

datetime对象有3个常用的时间格式化方法,如表所示

属性

描述

someday.isoformat()

采用ISO 8601标准显示时间

someday.isoweekday()

根据日期计算星期后返回1-7,对应星期一到星期日

someday.strftime(format)

根据格式化字符串format进行格式显示的方法

 isoformat()和isoweekday()方法的使用如下:

#coding=utf-8
from datetime import datetime

someday = datetime(2022, 4, 8, 19, 30, 32, 6)
print(someday)
print(someday.isoformat())
print(someday.isoweekday())

输出结果:

2022-04-08 19:30:32.000006
2022-04-08T19:30:32.000006
5


strftime()方法是时间格式化最有效的方法,几乎可以以任何通用格式输出时间
# coding=utf-8
from datetime import datetime

someday = datetime(2022, 4, 8, 19, 30, 32, 6)

print(someday)
print(someday.strftime("%Y-%m-%d %H:%M:%S"))

输出结果:

2022-04-08 19:30:32.000006
2022-04-08 19:30:32

格式化字符串

日期/时间

值范围和实例

%Y

年份

0001~9999,例如: 1900

%m

月份

01~12,例如: 10

%B

月名

January~December,例如: April

%b

月名缩写

Jan~Dec,例如: Apr

%d

日期

01 ~ 31,例如: 25

%A

星期

Monday~Sunday,例如: Wednesday

%a

星期缩写

Mon~Sun,例如: Wed

%H

小时(24h制)

00 ~ 23,例如: 12

%I

小时( 12h制)

01 ~ 12,例如: 7

%p

/下午

AM, PM,例如:PM

%M

分钟

00 ~ 59,例如:26

%S

00 ~ 59,例如:26


strftime()格式化字符串的数字左侧会自动补零,上述格式也可以与print()的格式化函数一起使用

# coding=utf-8
from datetime import datetime

now = datetime.now()
print(now.strftime("%Y-%m-%d"))
print(now.strftime("%A, %d. %B %Y %I:%M%p"))
print("今天是{0:%Y}年{0:%m}月{0:%d}日".format(now))

2022-04-08
Friday, 08. April 2022 08:24PM
今天是2022年04月08日


 2022/4/8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

W_chuanqi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值