跳至主要內容

13. 时间与日期处理

小白debug大约 3 分钟

13. 时间与日期处理

今天我们要来学习一个在编程中非常实用的主题: 时间与日期的处理 。这可是一个常常会在实际开发中用到的重要知识点哦。

了解一下时间与日期

在我们开始之前,先让我们了解一下,时间与日期在我们生活中扮演着非常重要的角色。我们需要知道今天是星期几,或者知道现在是几点了,这些情况随时都可能会发生。

在 Python 中,我们拥有一些强大的工具来帮助我们处理这些情况。让我们一起来看看吧!

获取当前时间

首先,让我们学习如何获取当前的时间。这样的话,我们就可以知道现在是几点了。

import datetime

current_time = datetime.datetime.now()
print("当前时间是:", current_time)

日期的计算

接下来,我们可能需要对日期进行一些操作,比如计算两个日期之间相差了多少天。

import datetime

date1 = datetime.date(2023, 10, 1)
date2 = datetime.date(2023, 9, 1)
delta = date1 - date2

print("两个日期之间的差距是:", delta.days, "天")

格式化时间

有时候,我们可能需要以一种特定的格式显示时间,比如“年-月-日 时:分:秒”。

import datetime

current_time = datetime.datetime.now()
formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")

print("格式化后的时间是:", formatted_time)

如何判断是否跨天了

import datetime

# 假设有两个时间点
time1 = datetime.datetime(2023, 10, 1, 11, 0, 0)  # 昨天11点
time2 = datetime.datetime(2023, 10, 2, 7, 0, 0)   # 今天早上7点

if time1.date() != time2.date():
    print("这两个时间点跨越了一天")
else:
    print("这两个时间点在同一天")

打印代码执行时间

import datetime

start_time = datetime.datetime.now()

# 这里写下你的代码

end_time = datetime.datetime.now()
execution_time = end_time - start_time

print("代码执行了:", execution_time)

等待一分钟

import time

print("等待一分钟...")
time.sleep(60)
print("等待结束!")

通过字符串读入时间

import datetime

time_str = "2023-10-01 12:30:45"
formatted_time = datetime.datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S")

print("转换后的时间是:", formatted_time)

实战例子:倒计时程序

最后,让我们来做一个小程序吧!我们将制作一个简单的倒计时程序,它会显示距离设定的日期还有多少天。

import datetime

def countdown(target_date):
    current_date = datetime.date.today()
    days_left = (target_date - current_date).days
    return days_left

# 设定目标日期
target_date = datetime.date(2023, 12, 31)

# 计算距离目标日期的天数
days_left = countdown(target_date)

print("距离目标日期还有", days_left, "天")

总结

通过这篇文章,我们学习了如何在 Python 中处理时间与日期。我们了解了如何获取当前时间,进行日期的计算,以及如何格式化时间的显示。同时,我们还学会了一些实用的技巧,如判断是否跨天、打印代码执行时间、等待一段时间以及通过字符串读入时间等。

希望你现在对时间与日期的处理有了更清晰的认识。继续加油,你已经掌握了一个非常实用的技能!

训练营看视频