您的位置:

Python中strf time函数的格式指令

strftime()函数是Python中时间模块中的一个函数,可以将时间转换为字符串,而strptime(string,pattern)函数则是将字符串转换为时间类型。在Python中,strftime()函数常用于日期和时间的格式化,可以将日期和时间根据指定的格式指令转换为字符串。这篇文章将从多个方面涵盖strftime函数的格式指令,让读者更好地了解该函数的使用和功能。

一、日期格式指令

日期格式指令是在strftime 函数中被广泛使用的一类指令,下面介绍几个常用的日期格式指令:

● %Y: 四位数的年份,例如:2022
● %y: 两位数的年份,例如:22
● %m: 月份,例如:01~12
● %B: 月份名称,例如:January~December
● %b 月份名称,例如:Jan~Dec
● %d: 一个月中的第几天,例如:01~31
● %A: 星期名称,例如:Monday~Sunday
● %a: 星期名称缩写,例如:Mon~Sun
● %j: 一年中的第几天,例如:001~366

下面是一个示例代码,演示如何使用strftime函数来将一个时间对象转换为日期字符串:

import datetime
date_str = datetime.datetime.now().strftime("%Y-%m-%d")
print(date_str)    # 输出:2022-03-05

二、时间格式指令

时间格式指令是strftime函数中的一个重要组成部分,下面介绍几个常用的时间格式指令:

● %H: 24小时制的小时数,例如:00~23
● %I: 12小时制的小时数,例如:01~12
● %M: 分钟数,例如:00~59
● %S: 秒数,例如:00~59
● %p: 上午/下午标识符

下面是一个示例代码,演示如何使用strftime函数将一个时间对象转换为时间字符串:

import datetime
time_str = datetime.datetime.now().strftime("%H:%M:%S")
print(time_str)        # 输出:21:20:23

三、复合指令

在实际编程过程中,我们需要同时获取日期和时间,并将其以一定格式输出,这时候就需要用到复合指令了。下面是一些常见的复合指令示例:

● %Y-%m-%d %H:%M:%S: 年-月-日 时:分:秒
● %Y-%m-%d %I:%M:%S %p: 年-月-日 上午/下午 时:分:秒
● %Y年%m月%d日 %H时%M分%S秒: 年月日 时分秒

下面是一个示例代码,演示如何使用strftime函数同时获取日期和时间,并输出自定义格式的字符串:

import datetime
dt = datetime.datetime.now()
datetime_str = dt.strftime("%Y-%m-%d %H:%M:%S")
print(datetime_str)        # 输出:2022-03-05 21:28:00

四、时区和周数

strftime函数还支持指令来获取时区和周数,这些指令虽然比较少用,但也会在一些特殊场景下用到。

● %Z: 时区名称
● %z: 时区偏移量,例如:+0800
● %U: 年份中的周数(周日为每周起始)
● %W: 年份中的周数(周一为每周起始)

下面是一个示例代码,演示如何使用strftime函数获取时区和周数的相关信息:

import datetime
dt = datetime.datetime.now()
datetime_str = dt.strftime("%z %Z %U, %W")
print(datetime_str)
# 输出:+0800 中国标准时间 09, 09

五、结论

到此为止,我们了解了Python中的strftime函数的格式指令和用法。通过本文的介绍,我们可以更好地理解strftime函数,以及如何使用它来处理日期和时间相关的问题。相信读者已经有了足够的知识和技能来在实际编程中灵活运用该函数,提高自己的编程效率。