欢迎访问宙启技术站
智能推送

使用Python处理日期和时间的函数:datetime、strftime、strptime等

发布时间:2023-05-24 20:02:16

在Python中,处理日期和时间通常需要使用datetime、strftime、strptime等函数。这些函数都是Python标准库中的模块,可以直接通过import引入使用。

datetime模块

datetime模块提供了一些用于处理日期和时间的类和函数。其中最常用的是datetime类。这个类表示一个具体的日期和时间。使用datetime类可以创建表示当前日期和时间的对象,也可以从字符串中解析日期和时间。下面是一些常用的datetime类方法:

1. datetime.now()方法:返回当前日期和时间的datetime对象。

import datetime
now = datetime.datetime.now()
print(now)

输出:2022-08-25 13:24:10.112842

2. datetime.strptime()方法:将一个日期和时间的字符串转换为datetime对象。

import datetime
date_str = '2022-08-25 13:24:10'
date_format = '%Y-%m-%d %H:%M:%S'
date_obj = datetime.datetime.strptime(date_str, date_format)
print(date_obj)

输出:2022-08-25 13:24:10

3. datetime.strftime()方法:将datetime对象格式化为字符串。

import datetime
date_str = '2022-08-25 13:24:10'
date_format = '%Y-%m-%d %H:%M:%S'
date_obj = datetime.datetime.strptime(date_str, date_format)
formatted_date = date_obj.strftime('%d-%m-%Y')
print(formatted_date)

输出:25-08-2022

strftime和strptime函数

strftime函数是datetime模块中的一个方法,用于将datetime对象格式化为字符串。strptime函数也是datetime模块中的一个方法,用于将字符串解析为datetime对象。这两个函数可以相互补充,方便处理日期和时间字符串。

strftime函数常用格式化字符:

'%Y' – 4位数的年份

'%m' – 2位数的月份(01-12)

'%d' – 2位数的日(01-31)

'%H' – 24时制的小时数(00-23)

'%M' – 分钟数(00-59)

'%S' – 秒数(00-59)

下面是strptime和strftime的一些例子:

import datetime

# 将字符串转为datetime对象
date_str = '2022-08-25 13:24:10'
date_format = '%Y-%m-%d %H:%M:%S'
date_obj = datetime.datetime.strptime(date_str, date_format)
print(date_obj)

# 格式化datetime对象
formatted_date = date_obj.strftime('%d-%m-%Y')
print(formatted_date)

输出:

2022-08-25 13:24:10
25-08-2022

timedelta函数

timedelta函数可以用于在datetime对象上进行日期和时间的加减操作,例如计算一个日期和另一个日期之间的天数差。

下面是timedelta函数的例子:

import datetime

# 计算今天和明天的日期差
today = datetime.date.today()
tomorrow = today + datetime.timedelta(days=1)
delta = tomorrow - today
print(delta.days)

输出:

1

以上就是Python处理日期和时间的一些基本函数的用法。学会这些函数以后,就可以方便地在Python中处理各种日期和时间问题了。