如何使用Python获得格式化的日期和时间?
在本文中,我们将展示如何在Python中格式化日期和时间。
Python中的datetime模块提供了与日期和时间值一起工作的方法。要使用此模块,我们必须首先使用以下import关键字导入它。
import datetime
阅读更多:Python 教程
strftime函数()
strftime函数返回格式化的日期和时间。它接受格式字符串,您可以使用它来获得所需结果。以下是它支持的指令。
指令 | 含义 |
---|---|
%a | 区域设置的缩写星期几名称 |
%B | 区域设置的完整月份名称。 |
%c | 区域设置的适当日期和时间表示形式 |
%d | 每月的某一天作为十进制数[01,31]。 |
%H | 小时(24小时制)作为十进制数[00,23]。 |
%I | 小时(12小时制)作为十进制数[01,12]。 |
%m | 月份作为十进制数[01,12]。 |
%M | 分钟作为十进制数[00,59]。 |
%p | 区域设置的等效AM或PM。 |
%S | 秒作为十进制数[00,61]。 |
%U | 一年中的周数(星期日为一周的第一天),作为十进制数[00,53]。在第一个星期日之前的新年所有天数都被视为第0周。 |
%w | 工作日(星期天为0)的十进制数。 |
%W | 一年中的周数(星期一为一周的第一天),作为十进制数[00,53]。在第一个星期一之前的新年所有天数都被视为第0周。 |
%x | 区域设置的适当日期表示。 |
%X | 区域设置的适当时间表示。 |
%y | 年份(没有世纪)作为十进制数[00,99]。 |
%Y | 带有世纪的年份作为十进制数。 |
%Z | 时区名称(如果不存在时区则没有字符)。 |
%% | 一个字面上的“%”字符 |
datetime类的strftime()函数
使用日期、时间或datetime对象,strftime()方法返回表示日期和时间的字符串。
要使用指定格式将datetime对象转换为字符串,请使用datetime.strftime(format)。
格式代码是指定要表示datetime的格式的标准指令。例如,%d-%m-%Y%H:%M:%S代码将日期转换为dd-mm-yyyy hh:mm:ss格式。
示例
”’
from datetime import datetime
now = datetime.now()
print("Current date and time : ")
print(now.strftime("%Y-%m-%d %H:%M:%S"))
”’
输出:
Current date and time :
2021-10-14 10:59:48
from datetime import datetime
# 获取当前日期和时间
current_datetime = datetime.now()
# 获取当前日期和时间中的年份
current_year = current_datetime.strftime("%Y")
print("当前年份 = ", current_year)
# 获取当前日期和时间中的月份
current_month = current_datetime.strftime("%m")
print("当前月份 = ", current_month)
# 获取当前日期和时间中的日期/日
current_day = current_datetime.strftime("%d")
print("当前日期 = ", current_day)
# 获取当前日期和时间中的时间,以给定的格式显示
current_time = current_datetime.strftime("%H:%M:%S")
print("当前时间 = ", current_time)
# 获取当前日期和时间,以给定的格式显示
current_date_time = current_datetime.strftime("%m/%d/%Y, %H:%M:%S")
print("当前日期和时间 = ",current_date_time)
输出
当前年份 = 2022
当前月份 = 08
当前日期 = 15
当前时间 = 17:49:46
当前日期和时间 = 08/15/2022, 17:49:46
注意 :如果程序在在线编辑器上运行,它会显示GMT时间,而如果程序在本地系统编辑器上运行,则会显示您自己的时间
时间类
时间类可用于表示时间值。时、分、秒和微秒是时间类属性。
语法
time(hour, minute, second, microsecond)
示例1
import datetime
# 格式化显示时间
format_time = datetime.time(3, 12, 24, 10)
print(format_time)
输出
03:12:24.000010
存在时间属性范围,例如,秒的范围是0到59,纳秒的范围是0到999999。如果范围太大,编译器会显示ValueError。
时间类的实例有三个实例属性:小时,分钟,秒钟和微秒。这些用于获取特定的时间信息。
示例2
import datetime
# 时间格式化
format_time = datetime.time(3, 12, 24, 10)
# 在时间属性格式中打印时间
print('时间:',
format_time.hour,' 小时 ',
format_time.minute,' 分钟 ',
format_time.second,' 秒和 ',
format_time.microsecond,' 微秒' )
输出
时间: 3 小时 12 分钟 24 秒和 10 微秒
日期类
日历日期的值可以用日期类表示。日期实例由年、月和日属性组成。
语法
date(yyyy, mm, dd)
示例 1
import datetime
# 日期格式化
format_date = datetime.date(2005, 4, 16)
# 在日期属性格式中打印日期
print('日期:', format_date.day,
'天,', format_date.month,
'月和', format_date.year, '年')
输出
日期: 16 天, 4 月和 2005 年
将日期转换为字符串
因为日期和时间与字符串不同,经常需要将datetime转换为字符串。我们使用strftime()函数来实现。
语法
time.strftime(format, t)
参数
format - 字符串类型。指令可以包含在格式字符串中
t - 应该被格式化的时间
示例
import datetime
# 日期和时间格式化
format_datetime = datetime.datetime(2005, 4, 16, 3, 22, 30, 8)
# 在日期和时间属性格式中打印日期和时间
print(format_datetime.strftime("%b %d %Y %H:%M:%S"))
输出
Apr 16 2005 03:22:30
符号%H,%M和%S表示小时、分钟和秒,而字符%b,%d和%Y则表示月份、日期和年份。
将字符串转换为日期
在处理从csv导入的数据集或从网站表单获取输入时,经常需要将字符串转换为日期。Python有一个名为strptime()的函数来实现这个功能。
语法
datetime.strptime(string, format)
参数
string - 应该被格式化的字符串
format - 字符串类型。指令可以包含在格式字符串中。
示例
从 datetime 导入 datetime
# 将输入字符串转换为日期格式(日期-月份-年份格式)
打印(datetime.strptime('16/5/2005', '%d/%m/%Y'))
输出
2005-05-16 00:00:00
结论
我们学习了如何使用 datetime 模块在 Python 中格式化日期和时间。我们还学习了如何通过将其转换为字符串然后再次转换为日期来格式化日期。