Python函数实现日期和时间的计算与转换
在 Python 中,时间和日期是非常常见的数据类型,我们需要进行各种计算、格式化和转换。Python 为我们提供了丰富的日期和时间库,例如 datetime、time、calendar 等等,这些库包含了一系列实用的函数和类,可以帮助我们轻松地完成各种操作。
本文将介绍 Python 中常用的日期和时间的操作,包括获取当前时间、时间计算、时间格式化、时间转换等等,以帮助 Python 开发人员更好地处理日期和时间数据。
获取当前日期和时间
在 Python 中,我们可以使用 datetime 模块来获取当前日期和时间。具体内容如下:
from datetime import datetime # 获取当前时间 now = datetime.now() # 获取当前日期和时间,格式为:年-月-日 小时:分钟:秒 print(now) # 获取当前日期,格式为:年-月-日 print(now.date()) # 获取当前时间,格式为:小时:分钟:秒 print(now.time())
时间计算
在 Python 中,我们可以对日期和时间进行加减,计算两个时间的差值等等,具体内容如下:
from datetime import datetime, timedelta # 获取当前时间 now = datetime.now() # 1天后的时间 one_day_later = now + timedelta(days=1) # 1小时后的时间 one_hour_later = now + timedelta(hours=1) # 5分钟后的时间 five_minutes_later = now + timedelta(minutes=5) # 10秒后的时间 ten_seconds_later = now + timedelta(seconds=10) # 计算2个日期之间的天数 date1 = datetime(2021, 7, 1) date2 = datetime(2021, 7, 5) days_between_dates = (date2 - date1).days print(one_day_later) print(one_hour_later) print(five_minutes_later) print(ten_seconds_later) print(days_between_dates)
时间格式化
在 Python 中,我们可以将日期和时间格式化为指定的字符串格式,具体内容如下:
from datetime import datetime
# 获取当前时间
now = datetime.now()
# 格式化当前时间,格式为:年-月-日 小时:分钟:秒
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
# 输出格式化后的时间
print(formatted_time)
常用格式化字符代码如下:
| 代码 | 描述 | 示例 |
| ---- | ------------------------------------ | --------------------- |
| %Y | 年份,包含世纪数 | 2021 |
| %y | 年份,不包含世纪数 | 21 |
| %m | 月份,01-12 | 07 |
| %B | 月份,全称 | July |
| %b | 月份,缩写 | Jul |
| %d | 日期,01-31 | 05 |
| %H | 小时,24小时制,00-23 | 14 |
| %M | 分钟,00-59 | 30 |
| %S | 秒,00-59 | 45 |
| %A | 星期,全称 | Monday |
| %a | 星期,缩写 | Mon |
| %p | AM/PM | PM |
| %Z | 时区 | CST |
| %j | 一年中的天数,001-366 | 186 |
| %U | 一年中的星期数,从第一个星期日开始 | 26 |
| %W | 一年中的星期数,从第一个星期一开始 | 26 |
| %c | 完整的日期和时间 | Wed Jul 21 14:30:45 2021 |
| %x | 日期,月/日/年 | 07/21/21 |
| %X | 时间,小时:分钟:秒 | 14:30:45 |
时间转换
在 Python 中,我们可以将字符串形式的时间数据转换为 datetime 类型,具体内容如下:
from datetime import datetime # 将字符串转换为 datetime 类型 str_time = "2021-07-21 14:30:45" datetime_time = datetime.strptime(str_time, "%Y-%m-%d %H:%M:%S") print(datetime_time)
总结
本文介绍了 Python 中日期和时间的常用操作,包括获取当前时间、时间计算、时间格式化和时间转换等等。这些操作在实际开发中非常常见,能够帮助 Python 开发者快速处理日期和时间数据,提高代码编写效率。
