Python日期和时间处理:10个常用的函数
Python是一种强大而又灵活的编程语言,它在日期和时间处理方面也表现得非常出色。Python提供了一个强大的datetime模块来处理与日期、时间和时间间隔相关的问题。在这里,我们将介绍10个常用的Python日期和时间处理函数。
1. 获取当前时间
可以使用datetime模块中的datetime类和now()函数来获取当前日期和时间:
import datetime now = datetime.datetime.now() print(now)
输出:
2021-04-27 18:04:26.701047
2. 格式化时间
datetime模块提供了strftime()函数,用于将日期时间格式化为字符串:
import datetime
now = datetime.datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))
输出:
2021-04-27 18:04:26
3. 将字符串转换为日期
datetime模块提供了strptime()函数,用于将字符串转换为日期:
import datetime date_str = "2021-04-27" date = datetime.datetime.strptime(date_str, "%Y-%m-%d") print(date)
输出:
2021-04-27 00:00:00
4. 时间差
datetime模块提供了timedelta类,用于计算时间差:
import datetime d1 = datetime.datetime(2021, 4, 27, 18, 0, 0) d2 = datetime.datetime(2021, 4, 26, 17, 0, 0) delta = d1 - d2 print(delta.days)
输出:
1
5. 时间戳
可以使用time模块中的time()函数来获取从1970年1月1日以来的秒数,并通过datetime模块将其转换为日期时间:
import datetime import time timestamp = time.time() date = datetime.datetime.fromtimestamp(timestamp) print(date)
输出:
2021-04-27 18:04:26.777767
6. 本地时间和UTC时间转换
可以使用pytz模块将本地时间和UTC时间进行转换:
import datetime
import pytz
local_tz = pytz.timezone('Asia/Shanghai')
utc_tz = pytz.utc
now = datetime.datetime.now(local_tz)
print(now)
utc_time = now.astimezone(utc_tz)
print(utc_time)
local_time = utc_time.astimezone(local_tz)
print(local_time)
输出:
2021-04-27 18:04:26.792585+08:00 2021-04-27 10:04:26.792585+00:00 2021-04-27 18:04:26.792585+08:00
7. 处理时间格式不一致的数据
可以使用dateutil模块中的parser类来自动解析各种格式的日期和时间:
import dateutil.parser date_str = "2021/04/27" date = dateutil.parser.parse(date_str) print(date)
输出:
2021-04-27 00:00:00
8. 计算两个日期之间的天数
可以使用datetime模块中的date类和timedelta类来计算两个日期之间的天数:
import datetime d1 = datetime.date(2021, 4, 27) d2 = datetime.date(2021, 4, 26) delta = d1 - d2 print(delta.days)
输出:
1
9. 获取某个月份的天数
可以使用calendar模块中的monthrange()函数来获取指定年月的天数:
import calendar year = 2021 month = 4 days_in_month = calendar.monthrange(year, month)[1] print(days_in_month)
输出:
30
10. 获取某个日期是星期几
可以使用datetime模块中的date类和weekday()函数来获取某个日期是星期几:
import datetime date_str = "2021-04-27" date = datetime.datetime.strptime(date_str, "%Y-%m-%d").date() weekday = date.weekday() + 1 print(weekday)
输出:
2
以上是10个常用的Python日期和时间处理函数,可以帮助你轻松处理日期和时间相关的问题。同时,这些函数也为我们提供了一个丰富的工具箱来解决更复杂的时间处理任务。
