Python的datetime模块提供了对日期和时间的操作,包括创建日期时间对象、格式化日期时间、日期时间计算等操作。在datetime模块中有一个datetime类,它表示一个日期时间对象。格式化日期时间可以使用strftime()方法来实现。
格式化日期时间
使用strftime()方法可以将datetime对象格式化为字符串。strftime(format)中,format是一个格式化字符串。
常用的格式化代码:
- %Y 年(四位数)
- %m 月(01-12)
- %d 日(01-31)
- %H 小时(00-23)
- %M 分钟(00-59)
- %S 秒(00-59)
下面是一些常见的日期时间格式化代码:
格式化代码 | 描述 | 举例 |
---|---|---|
%Y | 年(四位数) | "2021" |
%y | 年(两位数) | "21" |
%m | 月(01-12) | "01"-"12" |
%B | 月份的名称 | "January"-"December" |
%b | 月份的缩写 | "Jan"-"Dec" |
%d | 日(01-31) | "01"-"31" |
%A | 星期的名称 | "Sunday"-"Saturday" |
%a | 星期的缩写 | "Sun"-"Sat" |
%H | 小时(00-23) | "00"-"23" |
%I | 小时(01-12) | "01"-"12" |
%p | am或pm | "am" 或 "pm" |
%M | 分钟(00-59) | "00"-"59" |
%S | 秒(00-59) | "00"-"59" |
%f | 微秒(000000-999999) | "000000"-"999999" |
%z | 时区 | "+0300" |
%Z | 时区的名称 | "UTC","EST","CST" 等 |
%j | 年中的第几天 | "001"-"366" |
%U | 年中的第几周(以周日为一周的第一天) | "00"-"53" |
%W | 年中的第几周(以周一为一周的第一天) | "00"-"53" |
%c | 日期和时间 | "Tue Aug 31 02:40:23 2021" |
%x | 日期 | "08/31/21" |
%X | 时间 | "02:40:23" |
例如,我们可以使用以下代码获取当前日期时间并以指定格式输出:
import datetime
now = datetime.datetime.now()
print("当前时间:", now.strftime("%Y-%m-%d %H:%M:%S"))
输出:
当前时间: 2021-09-06 16:32:50
昨天、今天、明天的日期时间
当前时间的前一天和后一天可以使用datetime模块中的timedelta类实现。timedelta类用于计算时间跨度,可以通过days、seconds、microseconds等参数来指定时间跨度的大小。
例如,以下代码可以获取昨天、今天和明天的日期时间:
import datetime
today = datetime.datetime.now() # 获取当前日期时间
yesterday = today - datetime.timedelta(days=1) # 获取昨天日期时间
tomorrow = today + datetime.timedelta(days=1) # 获取明天日期时间
print("今天:", today.strftime("%Y-%m-%d %H:%M:%S"))
print("昨天:", yesterday.strftime("%Y-%m-%d %H:%M:%S"))
print("明天:", tomorrow.strftime("%Y-%m-%d %H:%M:%S"))
输出:
今天: 2021-09-06 16:40:28
昨天: 2021-09-05 16:40:28
明天: 2021-09-07 16:40:28
示例
以下是另一个示例,显示今天、昨天和明天的日期及其对应的星期:
import datetime
today = datetime.datetime.now()
yesterday = today - datetime.timedelta(days=1)
tomorrow = today + datetime.timedelta(days=1)
print("今天是 {0},{1}".format(today.strftime("%Y-%m-%d"), today.strftime("%A")))
print("昨天是 {0},{1}".format(yesterday.strftime("%Y-%m-%d"), yesterday.strftime("%A")))
print("明天是 {0},{1}".format(tomorrow.strftime("%Y-%m-%d"), tomorrow.strftime("%A")))
输出:
今天是 2021-09-06,Monday
昨天是 2021-09-05,Sunday
明天是 2021-09-07,Tuesday
这个示例中,我们使用strftime()方法获取日期和星期的字符串表示,并使用format()方法将它们格式化为字符串输出。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python datetime 格式化 明天,昨天实例 - Python技术站