Python日期操作学习笔记
日期和时间的数据类型
Python 中有两个表示日期和时间的主要数据类型:
- date - 表示日期(年、月、日)
- datetime - 表示日期和时间(年、月、日、时、分、秒)
创建日期对象
为了创建一个表示日期的对象,我们可以使用 date 类并指定年份、月份和日期作为参数。例如:
from datetime import date
d = date(2021, 9, 1)
print(d)
这会输出:2021-09-01
为了创建一个表示日期和时间的对象,我们可以使用 datetime 类并指定年份、月份、日期、小时、分钟和秒作为参数。例如:
from datetime import datetime
dt = datetime(2021, 9, 1, 12, 30, 45)
print(dt)
这会输出:2021-09-01 12:30:45
格式化日期
我们可以使用 strftime 方法将日期格式化为字符串。例如:
from datetime import datetime
dt = datetime(2021, 9, 1, 12, 30, 45)
formatted_date = dt.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date)
这会输出:2021-09-01 12:30:45
在上面的示例中,"%Y-%m-%d %H:%M:%S"
是一个格式字符串,指定了日期和时间应该以什么形式出现。其中:
%Y
表示年份(例如 2021)%m
表示月份(例如 09)%d
表示日期(例如 01)%H
表示小时(例如 12)%M
表示分钟(例如 30)%S
表示秒(例如 45)
解析日期字符串
我们可以使用 strptime 方法将字符串解析为一个 datetime 对象。例如:
from datetime import datetime
date_string = "2021-09-01 12:30:45"
dt = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(dt)
这会输出:2021-09-01 12:30:45
在上面的示例中,"%Y-%m-%d %H:%M:%S"
是一个格式字符串,指定了如何解析日期字符串。
日期计算
Python 的 datetime 模块提供了许多方法来进行日期计算。例如,我们可以使用 timedelta 对象来将一个 datetime 对象与另一个 datetime 对象相加或相减。例如:
from datetime import datetime, timedelta
dt1 = datetime(2021, 9, 1)
dt2 = datetime(2021, 9, 15)
delta = dt2 - dt1
print(delta.days)
这会输出:14
在上面的示例中,我们计算了从 2021 年 9 月 1 日到 2021 年 9 月 15 日有多少天。
示例1:将字符串日期转为时间戳
将一个字符串日期转为时间戳(秒数),可以使用 datetime 和 time 模块。例如:
import datetime
import time
date_str = "2021-09-01 12:30:45"
dt = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
timestamp = int(time.mktime(dt.timetuple()))
print(timestamp)
这会输出:1630512645
在上面的示例中,我们首先将字符串日期 2021-09-01 12:30:45
解析为一个 datetime 对象。然后,使用 time.mktime()
函数将其转换为时间戳。
示例2:计算两个日期之间的天数
为了计算两个日期之间的天数,我们可以使用 datetime 模块。例如:
from datetime import datetime
date_str1 = "2021-09-01"
date_str2 = "2021-09-15"
date_format = "%Y-%m-%d"
date1 = datetime.strptime(date_str1, date_format)
date2 = datetime.strptime(date_str2, date_format)
delta = date2 - date1
print(delta.days)
这会输出:14
在上面的示例中,我们首先将字符串日期解析为 datetime 对象。然后计算两个日期之间的时间差,并从中提取出天数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python日期操作学习笔记 - Python技术站