Python日期格式化

Python日期格式化

Python日期格式化

日期在编程中是一个常见的操作,而对日期进行格式化是展示日期信息的重要方式之一。Python提供了多种方式进行日期的格式化操作,本篇文章将详细介绍Python中日期格式化的方法和示例代码。

1. 日期格式化简介

日期格式化是将日期对象按照一定的格式转化为字符串的操作。在实际应用中,经常需要将日期以特定的格式展示给用户,或者将字符串转化为日期对象进行处理。Python中提供了strftime()strptime()两个方法来实现日期的格式化和字符串转日期的操作。

2. strftime()方法

strftime()方法是Python中常用的日期格式化方法,它用于将日期对象转化为自定义格式的字符串。以下是strftime()方法的基本语法:

datetime_object.strftime(format)

其中,datetime_object是一个日期对象,format是一个字符串,用于定义日期的输出格式。

2.1 格式字符串的含义

格式字符串中可以包含不同的占位符,将这些占位符与特定的日期格式符号进行替换,从而得到特定格式的日期字符串。

下表列出了常用的日期格式符号及其含义:

符号 含义
%Y 年份,4位数
%y 年份,2位数
%m 月份,0填充至2位数
%d 日,0填充至2位数
%H 小时,24小时制,0填充至2位数
%I 小时,12小时制,0填充至2位数
%M 分钟,0填充至2位数
%S 秒,0填充至2位数
%a 星期的缩写形式(例如Mon)
%A 星期的全称(例如Monday)
%b 月份的缩写形式(例如Jan)
%B 月份的全称(例如January)
%c 日期和时间的字符串表示(例如”%a %b %d %H:%M:%S %Y”)
%p 上午/下午标记(例如AM/PM)
%j 一年中的第几天,0填充至3位数
%U 一年中的第几周,星期天作为每周的第一天,0填充至2位数
%W 一年中的第几周,星期一作为每周的第一天,0填充至2位数
%x 日期的字符串表示(例如”%m/%d/%Y”)
%X 时间的字符串表示(例如”%H:%M:%S”)
%% 单个百分号符号

2.2 示例代码

下面是几个示例,展示了如何使用strftime()方法将日期对象格式化为自定义格式的字符串:

import datetime

# 获取当前日期和时间
now = datetime.datetime.now()

# 格式化为 "年-月-日 时:分:秒" 的字符串
s1 = now.strftime("%Y-%m-%d %H:%M:%S")
print(s1)
# 输出:2022-01-01 10:30:45

# 格式化为 "月/日/年 时:分 AM/PM" 的字符串
s2 = now.strftime("%m/%d/%y %I:%M %p")
print(s2)
# 输出:01/01/22 10:30 AM

# 格式化为 "时:分:秒" 的字符串
s3 = now.strftime("%H:%M:%S")
print(s3)
# 输出:10:30:45

# 格式化为 "年.月.日" 的字符串
s4 = now.strftime("%Y.%m.%d")
print(s4)
# 输出:2022.01.01

# 格式化为 "星期几, 月份日 时:分" 的字符串
s5 = now.strftime("%A, %B %d %I:%M")
print(s5)
# 输出:Saturday, January 01 10:30

以上示例演示了如何使用strftime()方法将日期对象转化为不同自定义格式的字符串。

3. strptime()方法

strptime()方法是将字符串转化为日期对象的方法,它用于将提供的字符串按照特定的格式解析为日期对象。以下是strptime()方法的基本语法:

datetime.datetime.strptime(date_string, format)

其中,date_string是一个日期类型的字符串,format是一个字符串,用于定义日期字符串的格式。

3.1 示例代码

下面是几个示例,展示了如何使用strptime()方法将字符串转化为日期对象:

import datetime

# 将 "2022-01-01 10:30:45" 转化为日期对象
d1 = datetime.datetime.strptime("2022-01-01 10:30:45", "%Y-%m-%d %H:%M:%S")
print(d1)
# 输出:2022-01-01 10:30:45

# 将 "01/01/22 10:30 AM" 转化为日期对象
d2 = datetime.datetime.strptime("01/01/22 10:30 AM", "%m/%d/%y %I:%M %p")
print(d2)
# 输出:2022-01-01 10:30:00

# 将 "10:30:45" 转化为日期对象,日期部分使用当前日期
d3 = datetime.datetime.strptime("10:30:45", "%H:%M:%S")
print(d3)
# 输出:2022-01-01 10:30:45

# 将 "2022.01.01" 转化为日期对象
d4 = datetime.datetime.strptime("2022.01.01", "%Y.%m.%d")
print(d4)
# 输出:2022-01-01 00:00:00

# 将 "Saturday, January 01 10:30" 转化为日期对象
d5 = datetime.datetime.strptime("Saturday, January 01 10:30", "%A, %B %d %I:%M")
print(d5)
# 输出:2022-01-01 10:30:00

以上示例演示了如何使用strptime()方法将不同格式的日期字符串转化为日期对象。

4. 总结

本文详细介绍了Python中日期格式化的方法,包括strftime()strptime()两个方法。strftime()方法用于将日期对象转化为自定义格式的字符串,而strptime()方法用于将字符串按照特定的格式解析为日期对象。通过自定义格式字符串的使用,可以将日期以特定的形式展示给用户,或者将字符串转化为日期对象进行后续的日期操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程