Python 日期及时间格式转换

Python 日期及时间格式转换

Python 日期及时间格式转换

介绍

日期和时间在程序中起着重要的作用,比如在数据分析、文件处理或日志记录等场景中经常会涉及到日期和时间的格式转换。Python提供了丰富的内置库和函数来处理日期和时间。本文将详细介绍Python中日期和时间的格式转换操作,以及一些常用的日期和时间处理库。

datetime模块

在Python中,datetime模块是处理日期和时间的核心模块之一,它提供了多个类和函数来处理日期和时间。这些类和函数可以用于创建、操作、格式化和计算日期和时间。

datetime类

datetime类是datetime模块中最重要的类之一。它用于表示日期和时间,并提供了丰富的方法来对日期和时间进行操作。

使用from datetime import datetime语句可以导入datetime类。

下面是一个示例,演示如何创建一个datetime对象,并使用其方法来获取日期和时间的各个部分。

from datetime import datetime

now = datetime.now()  # 获取当前的日期和时间
year = now.year  # 获取年份
month = now.month  # 获取月份
day = now.day  # 获取日期
hour = now.hour  # 获取小时
minute = now.minute  # 获取分钟
second = now.second  # 获取秒数

print(year, month, day, hour, minute, second)

运行上述代码会输出当前日期和时间的各个部分。

2022 8 27 21 30 45

strftime()方法

datetime类提供了一个strftime()方法,用于将日期和时间格式化成指定的字符串。

strftime()方法可以接受一个格式字符串作为参数,用于指定输出的格式。格式字符串中使用特定的占位符表示不同的日期和时间部分。

下面是一些常用的占位符:

  • %Y:四位数的年份(例如,2022)
  • %y:两位数的年份(例如,22)
  • %m:两位数的月份(01~12)
  • %d:两位数的日期(01~31)
  • %H:24小时制的小时数(00~23)
  • %I:12小时制的小时数(01~12)
  • %M:两位数的分钟数(00~59)
  • %S:两位数的秒数(00~59)
  • %p:上午或下午(AM/PM)
  • %A:星期的全名(例如,Monday)
  • %a:星期的缩写(例如,Mon)
  • %B:月份的全名(例如,January)
  • %b:月份的缩写(例如,Jan)

下面是一个示例,演示如何使用strftime()方法将日期和时间格式化成不同的字符串。

from datetime import datetime

now = datetime.now()

# 将日期和时间格式化成标准的字符串
print(now.strftime("%Y-%m-%d %H:%M:%S"))

# 将日期和时间格式化成中文字符串
print(now.strftime("%Y年%m月%d日 %H时%M分%S秒"))

# 将日期和时间格式化成自定义字符串
print(now.strftime("Today is %A, %B %d, %Y"))

运行上述代码会分别输出当前日期和时间的不同格式化结果。

2022-08-27 21:30:45
2022年08月27日 21时30分45秒
Today is Saturday, August 27, 2022

strptime()方法

datetime类还提供了一个strptime()方法,用于将字符串解析成日期和时间对象。

strptime()方法接受两个参数:一个表示日期和时间的字符串和一个格式字符串。它会根据格式字符串的指定来解析字符串,并返回对应的日期和时间对象。

下面是一个示例,演示如何使用strptime()方法将字符串解析成日期和时间对象。

from datetime import datetime

date_str = "2022-08-27"
time_str = "21:30:45"

# 将字符串解析成日期对象
date = datetime.strptime(date_str, "%Y-%m-%d")
print(date)

# 将字符串解析成时间对象
time = datetime.strptime(time_str, "%H:%M:%S")
print(time)

运行上述代码会分别输出解析后的日期对象和时间对象。

2022-08-27 00:00:00
1900-01-01 21:30:45

dateutil库

dateutil库是Python中一个强大的日期和时间处理库,它提供了丰富的函数和类来处理各种日期和时间操作。在许多情况下,dateutil库能够更方便地处理日期和时间的格式转换。

安装

dateutil库是一个第三方库,可以使用以下命令来安装:

pip install python-dateutil

parse()函数

dateutil库提供了一个parse()函数,用于将各种格式的字符串解析成日期和时间对象。

parse()函数可以自动识别并解析多种日期和时间格式的字符串,无需指定格式字符串。它能够处理各种常用的日期和时间表示形式,例如:

  • 2022-08-27
  • 2022/08/27
  • Aug 27, 2022
  • 27th of August 2022

下面是一个示例,演示如何使用parse()函数将字符串解析成日期和时间对象。

from dateutil.parser import parse

date_str1 = "2022-08-27"
date_str2 = "August 27, 2022"

# 将字符串解析成日期对象
date1 = parse(date_str1)
print(date1)

# 将字符串解析成日期对象
date2 = parse(date_str2)
print(date2)

运行上述代码会分别输出解析后的日期对象。

2022-08-27 00:00:00
2022-08-27 00:00:00

relativedelta类

dateutil库还提供了一个relativedelta类,用于在日期和时间之间执行相对运算。

relativedelta类可以创建一个时间间隔,然后根据需要将其添加到或减去日期和时间对象。

下面是一个示例,演示如何使用relativedelta类执行日期和时间的相对运算。

from datetime import datetime
from dateutil.relativedelta import relativedelta

now = datetime.now()

# 增加1天
new_date = now + relativedelta(days=1)
print(new_date)

# 减少2周
new_date = now - relativedelta(weeks=2)
print(new_date)

# 增加3个月
new_date = now + relativedelta(months=3)
print(new_date)

运行上述代码会分别输出进行相对运算后的日期和时间对象。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程