欢迎访问宙启技术站
智能推送

Python的strftime函数:如何将日期和时间格式化为字符串?

发布时间:2023-06-19 15:21:15

Python中,日期和时间通常被表示为datetime对象。要将datetime对象转换为字符串,可以使用strftime()方法。strftime()方法可以将日期和时间格式化为字符串。在该方法中,有很多不同的格式代码,使得用户可以根据需要格式化日期和时间。下面,我们将详细介绍strftime()函数。

1. strftime()函数的基本用法

strftime()函数是Python中最常用的格式化日期和时间的方式之一。它使用一个格式化字符串,将datetime对象转换为字符串。例如:

import datetime

now = datetime.datetime.now()

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

上述代码将打印出当前日期和时间,日期和时间的格式为“年-月-日 时:分:秒”。在这种情况下,我们使用了特定的格式代码:

- %Y: 年份,例如2021;

- %m: 月份,从01到12;

- %d: 日期,从01到31;

- %H: 小时,从00到23;

- %M: 分钟,从00到59;

- %S: 秒,从00到59。

2. 格式代码

除了上述介绍的格式代码外,strftime()函数还有很多其他格式代码,下面我们将对它们进行逐一介绍。

- %a: 星期几的简写符号,例如Mon、Tue、Wed、Thu、Fri、Sat、Sun;

- %A: 星期几的全称,例如Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday;

- %w: 星期几的数字形式,从0到6,其中0表示星期日,1表示星期一,以此类推;

- %b: 月份的简写符号,例如Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec;

- %B: 月份的全称,例如January、February、March、April、May、June、July、August、September、October、November、December;

- %m: 月份,从01到12;

- %d: 日期,从01到31;

- %y: 年份的后两位数,例如21;

- %Y: 年份,例如2021;

- %H: 小时,从00到23;

- %I: 小时,从01到12;

- %p: AM/PM;

- %M: 分钟,从00到59;

- %S: 秒,从00到59;

- %f: 微秒(六位,小数点后最多保留六位);

- %z: UTC偏移量,例如+0800;

- %Z: 时区名称,例如CST;

- %j: 年份的第几天,从001到366;

- %U: 年份的第几周,从00到53,周日是一周的 天;

- %W: 年份的第几周,从00到53,周一是一周的 天;

- %c: 日期和时间的本地表示形式;

- %x: 日期的本地表示形式;

- %X: 时间的本地表示形式;

- %%: 单独的百分号(%)符号。

3. strftime()函数的时间转换示例

下面我们将通过一些示例来说明strftime()函数的应用。

1)将日期和时间格式化为“年-月-日 时:分:秒”形式的字符串:

import datetime

now = datetime.datetime.now()

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

2)将日期和时间格式化为“星期几, 月份 日,年 时:分:秒 AM/PM 时区”形式的字符串:

import datetime

now = datetime.datetime.now()

print(now.strftime("%a, %B %d, %Y %I:%M:%S %p %Z"))

3)将日期和时间格式化为“年份的第几周,星期几”形式的字符串:

import datetime

now = datetime.datetime.now()

print(now.strftime("%U, %A"))

4)将日期和时间格式化为“日期/月份/年份 时:分:秒”形式的字符串:

import datetime

now = datetime.datetime.now()

print(now.strftime("%d/%m/%Y %H:%M:%S"))

5)将日期和时间格式化为“年份-月份-日期T时:分:秒Z”形式的字符串:

import datetime

now = datetime.datetime.now()

print(now.strftime("%Y-%m-%dT%H:%M:%SZ"))

4. 注意事项

- strftime()函数是区分大小写的。因此,格式代码的大小写必须与函数使用时的一致;

- 如果使用了不受支持的格式代码,将会引发ValueError异常;

- 在某些情况下,使用一些特殊的符号可能会导致问题,需要格外小心。例如,在某些操作系统中,冒号(:)在路径中被用作分隔符,但是在strftime()函数中,它表示时间中的分隔符。在这种情况下, 使用类似“%-I”这样的格式代码,就可以避免这种问题。

总之,strftime()函数是处理日期和时间的有用工具之一。通过使用不同的格式代码,可以创建很多不同格式化的日期和时间字符串,方便用户处理数据。