本教程向 Python 设立东谈主员展示怎样使用datetime模块简易造访系统时钟。
译自How To Work With Date and Time in Python,作家 Jessica Wachtel。
咱们但愿咱们的行使门径和处事长期如期开动。自动化、数据汇集、退换、安全和物联网集成等任务,要是莫得精准计时带来的信心,将整个不同。要是每个设立东谈主员皆左证我方的腕表构建行使门径和函数,寰宇将整个不同。行运的是,咱们有系统时钟,它为通盘编程讲话和硬件提供了一个通用参考。在Python中,您不错使用datetime模块简易造访此时钟。
datetime模块援用系统时钟。系统时钟是规画机中追踪面前时候的硬件组件。它规画自称为“纪元”的固定点以来的秒数,在大大皆系统上,纪元是 1970 年 1 月 1 日。
操作系统提供了一个接口,供行使门径通过系统调用或API造访系统时钟。这些系统调用和 API 复返面前日历和时候。此时候的准确性和精度取决于硬件和操作系统的计时机制,但它们皆始于归拢个方位。
Python 的时候接口是datetime模块。它调用系统 API 来检索面前日历和时候。
datetime怎样职责?
领先要使用日历和时候,您需要导入datetime模块。该模块会将datetime对象的通盘法子和属性导入您的行使门径。使用datetime对象将罢免面向对象编程语法。
from datetime import datetime
要赢妥贴前日历和时候,不错使用datetime.now()法子。它将复返包含面前日历和时候的竣工datetime对象,精准到纳秒。
datetime_now = datetime.datetime.now()print("Current date and time:", datetime_now)
姿首为:2024-07-30 08:59:46.989846
要是您只需要日历或只需要时候,也不错将其拆分。调用以下两种法子将从datetime对象中索要更有限的信息。
要打印今天的日历,请使用date.today()法子:
date_today = datetime.date.today()print("Today's date:", date_today)
要仅为您的行使门径索要面前时候,您需要从datetime对象中索要时候。
time_now = datetime.now().time()print("Current time:", time_now)
姿首化
您不错使用strftime()法子将日历和时候重新姿首化为字符串。这允许您使用姿首代码指定您心爱的姿首。以下是一个常见的姿首代码:
–%Y更新年份
以下代码将指定时候更新为零填充的十进制数(举例,01):
–%m更眉月份–%d更新日历–%H更新 24 小时制–%M更新分钟–%S更新秒
使用这些姿首代码的竣工代码块可能如下所示:
date_formatted = time_now.strftime("%Y-%m-%d")time_formatted = time_now.strftime("%H:%M:%S")print("Formatted date:", date_formatted) print("Formatted time:", time_formatted)
使用时区
您不错使用pytz库养息datetime对象以反应不同的时区。在使用它之前,您需要导入它:
您不需要先赢得 UTC 时候,但这是最好抓行,因为 UTC 从不变嫌(包括在夏季时本事),因此它是一个浩瀚的参考点。
# Get the current time in UTCutc_time = datetime.now(pytz.utc)print("UTC:", utc_time)# Define the timezonelocal_tz = pytz.timezone('America/New_York')# Convert the UTC time to the timezonelocal_time = utc_time.astimezone(local_tz)print("New York:", local_time)
Python 的datetime模块保存了日历!
datetime模块简化了在 Python 中使用计时。它排斥了与同步行使门径有关的很多复杂性,并确保它们以准确一致的计时开动。