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

Python日期和时间处理:10个常用的函数

发布时间:2023-05-24 06:16:44

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日期和时间处理函数,可以帮助你轻松处理日期和时间相关的问题。同时,这些函数也为我们提供了一个丰富的工具箱来解决更复杂的时间处理任务。