您的位置:

使用time.strftime格式化日期时间

一、背景介绍

在日常编程中,日期和时间的格式化常常是不可避免的。Python内置的time模块提供了多种方法来操作时间,其中就包括了strftime函数,可以方便地将时间格式化输出。

二、time.strftime函数的用法

time.strftime函数的基本用法如下:

import time
print(time.strftime(format_string))

其中,format_string是格式化字符串,用于定义输出的格式。strftime函数会返回一个格式化后的字符串,具体格式化方式由format_string指定。下面是一些常用的格式化指令:

  • %Y:年份,如2022
  • %m:月份,如01表示1月
  • %d:日,如01表示1号
  • %H:时,24小时制,如15表示下午3点
  • %M:分,如30表示30分
  • %S:秒,如45表示45秒
  • %a:英文星期缩写,如Mon表示星期一
  • %A:英文星期全称,如Monday表示星期一
  • %b:英文月份缩写,如Jan表示1月
  • %B:英文月份全称,如January表示1月

下面是一个简单的例子:

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

上面的代码会输出当前时间的年月日时分秒,格式为“年-月-日 时:分:秒”,例如:

2022-07-13 15:30:45

三、时间格式化示例

1. 格式化为日期时间字符串

假设我们有一个时间戳(以秒为单位),需要将它转化为可读性更好的日期时间字符串,可以使用下面的代码:

import time

timestamp = 1626171902
datetime_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))
print(datetime_str)

上面的代码会输出:“2021-07-13 10:38:22”,该字符串就是将时间戳格式化后得到的结果。

2. 格式化为时间戳

如果我们有一个日期时间字符串,需要将它转化为时间戳,可以使用下面的代码:

import time

datetime_str = "2021-07-13 10:38:22"
timestamp = time.mktime(time.strptime(datetime_str, "%Y-%m-%d %H:%M:%S"))
print(int(timestamp))

上面的代码会输出时间戳1626171902。

3. 格式化为星期几

假设我们需要将一个日期转化为星期几,可以使用下面的代码:

import time

date_str = "2021-07-13"
week = time.strftime("%A", time.strptime(date_str, "%Y-%m-%d"))
print(week)

上面的代码会输出星期二。

总结

使用time.strftime函数可以方便地将时间格式化输出。在实际编程中,对时间进行格式化通常是比较常见的需求,掌握strftime的使用方法可以提高我们的编程效率。