Python 的 datetime.now() 函数使用指南:全面教程
在 Python 编程世界中,datetime.now() 函数是一个强大的工具,被广泛用于各种目的。这个函数提供了获取当前日期和时间的简单方法,对于数据记录、时间戳、调度等方面十分有价值。本文将深入探讨 datetime.now() 函数,包括如何在不同的时区中使用这个函数,如何格式化输出,以及如何将输出转换为 UTC 或字符串。
1. datetime.now() 函数
Python 的 datetime 模块是其标准库的一部分,now() 函数返回当前的日期和时间。默认情况下,这是本地日期和时间。下面是一个简单的使用例子:
from datetime import datetime
current_time = datetime.now()
print(current_time)这将以 YYYY-MM-DD HH:MM:SS.ssssss 的格式输出当前日期和时间。
2. 与时区一起使用
虽然 datetime.now() 默认返回本地时间,但是使用 pytz 库,您可以获取任何时区的当前时间。以下是使用方法:
from datetime import datetime
import pytz
tokyo_tz = pytz.timezone('Asia/Tokyo')
current_time_tokyo = datetime.now(tokyo_tz)
print(current_time_tokyo)这将输出考虑了夏令时规则的东京当前日期和时间。
3. 格式化 datetime.now() 的输出
使用 strftime() 方法,您可以将 datetime 对象格式化为您喜欢的格式的字符串。该方法接受一个格式字符串作为参数,该字符串包含 strftime 指令。
from datetime import datetime
current_time = datetime.now()
formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_time)在此代码片段中,%Y 表示 4 位数的年份,%m 表示 2 位数的月份,%d 表示月份的 2 位数的日期。此外,%H,%M 和 %S 分别表示小时,分钟和秒。
4. 转换为 UTC 或字符串
使用 datetime.now() 函数,您可以获取当前的 UTC 时间,并使用 strftime() 将其转换为字符串:
from datetime import datetime
import pytz
utc_now = datetime.now(pytz.UTC)
formatted_utc_now = utc_now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_utc_now)在这段代码片段中,我们获取了当前的 UTC 格式的日期和时间,并将其格式化为字符串。
5. 减去一天
在 datetime 对象中,你可以执行简单的算术运算。例如,为了获取昨天的日期和时间,你可以从当前的 datetime 对象中减去一个表示一天的 timedelta 对象:
from datetime import datetime, timedelta
current_time = datetime.now()
yesterday = current_time - timedelta(days=1)
print(yesterday)6. 关于时间戳和纪元
时间戳表示自 UNIX 纪元(1970 年 1 月 1 日)以来的总秒数。你可以使用 timestamp() 方法获取当前的时间戳。这个时间戳可以用于创建时间戳或同步事件。
from datetime import datetime
current_time = datetime.now()
timestamp = current_time.timestamp()
print(timestamp)7. datetime.now() vs datetime.today()
datetime.now() 和 datetime.today() 在大多数情况下返回相同的内容,即本地格式的当前日期和时间。但是,datetime.now() 接受时区参数,而 datetime.today() 则不接受。因此,如果你需要在特定的时区中工作,你需要使用 datetime.now()。
8. 结论
Python 的 datetime.now() 函数是一个强大且功能丰富的函数,可用于多种用途。尽管本文涵盖了该函数的一些重要方面,但 Python 的官方文档中还有更多的信息。祝你编程愉快!