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

Python函数实现日期和时间的计算与转换

发布时间:2023-06-26 13:38:00

在 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 开发者快速处理日期和时间数据,提高代码编写效率。