亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

掌握 Python strftime():将日期和时间转换为可读字符串

Python strftime() 方法详解

本文将通过示例教你如何使用 strftime() 方法将 date、time 和 datetime 对象转换为对应的字符串格式。

视频:Python 中的日期和时间处理

strftime() 方法根据 date、time 或 datetime 对象返回一个表示日期和时间的字符串。


示例 1:使用 strftime() 将 datetime 对象转为字符串

下面的程序演示如何将包含当前日期和时间的 datetime 对象转换为不同的字符串格式。

from datetime import datetime

now = datetime.now()  # 获取当前日期和时间
year = now.strftime("%Y")
print("年份:", year)
month = now.strftime("%m")
print("月份:", month)
day = now.strftime("%d")
print("日期:", day)
time = now.strftime("%H:%M:%S")
print("时间:", time)
date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
print("日期和时间:", date_time)

运行程序后,输出类似如下:


年份: 2018
月份: 12
日期: 24
时间: 04:59:31
日期和时间: 12/24/2018, 04:59:31

这里,year、month、day、time 和 date_time 都是字符串,而 now 是一个 datetime 对象。


strftime() 的工作原理

在上述程序中,%Y、%m、%d 等称为格式代码。strftime() 方法接受一个或多个格式代码作为参数,并根据这些代码返回格式化后的字符串。

  1. 我们从 datetime 模块导入了 datetime 类。因为只有 datetime 类的对象才能调用 strftime() 方法。
  2. datetime 对象包含当前日期和时间,存储在 now 变量中。
  3. strftime() 方法可用于创建格式化字符串。
  4. 传递给 strftime() 的字符串可以包含多个格式代码。

示例 2:从时间戳创建字符串

from datetime import datetime

timestamp = 1528797322
date_time = datetime.fromtimestamp(timestamp)
print("日期时间对象:", date_time)
d = date_time.strftime("%m/%d/%Y, %H:%M:%S")
print("输出 2:", d)
d = date_time.strftime("%d %b, %Y")
print("输出 3:", d)
d = date_time.strftime("%d %B, %Y")
print("输出 4:", d)
d = date_time.strftime("%I%p")
print("输出 5:", d)

运行程序后,输出如下:


日期时间对象: 2018-06-12 09:55:22
输出 2: 06/12/2018, 09:55:22
输出 3: 12 Jun, 2018
输出 4: 12 June, 2018
输出 5: 09AM

格式代码完整列表

下表列出了所有可以传递给 strftime() 方法的格式代码:

指令含义示例
%a星期名称缩写Sun, Mon, ...
%A完整星期名称Sunday, Monday, ...
%w星期几的十进制数 (0-6)0, 1, ..., 6
%d月份中的第几天 (零填充)01, 02, ..., 31
%-d月份中的第几天 (无填充)1, 2, ..., 30
%b月份名称缩写Jan, Feb, ..., Dec
%B完整月份名称January, February, ...
%m月份数字 (零填充)01, 02, ..., 12
%-m月份数字 (无填充)1, 2, ..., 12
%y不带世纪的年份 (零填充)00, 01, ..., 99
%-y不带世纪的年份 (无填充)0, 1, ..., 99
%Y带世纪的年份2013, 2019 等
%H小时 (24 小时制, 零填充)00, 01, ..., 23
%-H小时 (24 小时制, 无填充)0, 1, ..., 23
%I小时 (12 小时制, 零填充)01, 02, ..., 12
%-I小时 (12 小时制, 无填充)1, 2, ..., 12
%p本地化的 AM 或 PMAM, PM
%M分钟 (零填充)00, 01, ..., 59
%-M分钟 (无填充)0, 1, ..., 59
%S秒 (零填充)00, 01, ..., 59
%-S秒 (无填充)0, 1, ..., 59
%f微秒 (左侧零填充)000000 - 999999
%zUTC 偏移量 (+HHMM 或 -HHMM)
%Z时区名称
%j一年中的第几天 (零填充)001, 002, ..., 366
%-j一年中的第几天 (无填充)1, 2, ..., 366
%U周数 (周日为一周的第一天)00, 01, ..., 53
%W周数 (周一为一周的第一天)00, 01, ..., 53
%c本地化的日期时间表示Mon Sep 30 07:06:05 2013
%x本地化的日期表示09/30/13
%X本地化的时间表示07:06:05
%%字面上的 '%' 字符%

示例 3:本地化的日期和时间表示

from datetime import datetime

timestamp = 1528797322
date_time = datetime.fromtimestamp(timestamp)
d = date_time.strftime("%c")
print("输出 1:", d)
d = date_time.strftime("%x")
print("输出 2:", d)
d = date_time.strftime("%X")
print("输出 3:", d)

运行程序后,输出如下:


输出 1: Tue Jun 12 09:55:22 2018
输出 2: 06/12/18
输出 3: 09:55:22

格式代码 %c、%x 和 %X 用于获取本地化的日期和时间表示。


推荐阅读:Python strptime() —— strptime() 方法可以从字符串创建 datetime 对象。

Python

  1. Python关键字与标识符:掌握保留字与命名规范
  2. 精通Python数据类型:实战指南
  3. 精通Python运算符:全面指南
  4. 精通Python Pass语句:实战指南
  5. 精通Python函数参数:位置、关键字与默认参数
  6. 精通 Python 字典:创建、操作与进阶技巧
  7. 精通 Python 迭代器:工作原理与自定义构建
  8. Python 闭包详解:嵌套函数如何捕获变量
  9. Python 正则表达式 (re 模块) 实战指南
  10. 精通 Python datetime:日期、时间与时区实战指南
  11. 精通 Python time 模块:函数、结构体与实战示例
  12. 精通 Python time.sleep():最佳实践、多线程与实战案例