Python案例如何获取当前时间?

wen python案例 8

本文目录导读:

Python案例如何获取当前时间?

  1. 使用 datetime 模块(推荐)
  2. 使用 time 模块
  3. 实用案例
  4. 常用格式化符号说明
  5. 推荐方案

在Python中获取当前时间有多种方法,我来介绍最常用的几种。

使用 datetime 模块(推荐)

from datetime import datetime, date, time
# 获取当前日期和时间
now = datetime.now()
print("当前时间:", now)
# 获取当前日期
today = date.today()
print("当前日期:", today)
# 获取当前时间(不含日期)
current_time = datetime.now().time()
print("当前时间:", current_time)

格式化输出

from datetime import datetime
now = datetime.now()
# 格式化输出
print("年-月-日:", now.strftime("%Y-%m-%d"))
print("年-月-日 时:分:秒:", now.strftime("%Y-%m-%d %H:%M:%S"))
print("12小时制:", now.strftime("%Y-%m-%d %I:%M:%S %p"))
print("中文格式:", now.strftime("%Y年%m月%d日 %H时%M分%S秒"))
# 只获取特定部分
print("年份:", now.year)
print("月份:", now.month)
print("日:", now.day)
print("小时:", now.hour)
print("分钟:", now.minute)
print("秒:", now.second)
print("微秒:", now.microsecond)

使用 time 模块

import time
# 获取当前时间戳
timestamp = time.time()
print("时间戳:", timestamp)
# 获取本地时间(结构化时间)
local_time = time.localtime()
print("结构化时间:", local_time)
# 格式化输出
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print("格式化时间:", formatted_time)
# 获取更详细的结构化信息
print("年:", local_time.tm_year)
print("月:", local_time.tm_mon)
print("日:", local_time.tm_mday)
print("时:", local_time.tm_hour)
print("分:", local_time.tm_min)
print("秒:", local_time.tm_sec)
print("星期几(0-6):", local_time.tm_wday)
print("一年中的第几天:", local_time.tm_yday)

实用案例

计时器示例

import time
from datetime import datetime, timedelta
# 计算代码执行时间
start_time = time.time()
# 模拟一些操作
time.sleep(2)
end_time = time.time()
elapsed = end_time - start_time
print(f"代码执行了 {elapsed:.2f} 秒")

日期计算

from datetime import datetime, timedelta
now = datetime.now()
# 计算未来的时间
future = now + timedelta(days=7, hours=3)
print("7天3小时后:", future)
# 计算过去的时间
past = now - timedelta(days=30)
print("30天前:", past)
# 比较时间
if now.hour < 12:
    print("上午好!")
else:
    print("下午好!")

获取不同时区的时间

from datetime import datetime
import pytz  # 需要安装:pip install pytz
# 获取北京时间
beijing_tz = pytz.timezone('Asia/Shanghai')
beijing_time = datetime.now(beijing_tz)
print("北京时间:", beijing_time.strftime("%Y-%m-%d %H:%M:%S"))
# 获取纽约时间
ny_tz = pytz.timezone('America/New_York')
ny_time = datetime.now(ny_tz)
print("纽约时间:", ny_time.strftime("%Y-%m-%d %H:%M:%S"))
# 获取伦敦时间
london_tz = pytz.timezone('Europe/London')
london_time = datetime.now(london_tz)
print("伦敦时间:", london_time.strftime("%Y-%m-%d %H:%M:%S"))

常用格式化符号说明

符号 说明 示例
%Y 四位数的年份 2024
%y 两位数的年份 24
%m 月份(01-12) 03
%d 日(01-31) 15
%H 24小时制小时(00-23) 14
%I 12小时制小时(01-12) 02
%M 分钟(00-59) 30
%S 秒(00-59) 45
%p AM或PM PM
%A 完整的星期名称 Monday
%a 简写的星期名称 Mon
%B 完整的月份名称 March
%b 简写的月份名称 Mar

推荐方案

  • 日常使用:推荐使用 datetime 模块,功能更强大
  • 简单计时:使用 time 模块
  • 需要时区:结合 pytz 使用

最简单的获取时间方法:

from datetime import datetime
print(datetime.now())  # 直接输出当前时间

这些方法基本能满足大部分时间获取的需求,你可以根据具体情况选择合适的方式。

抱歉,评论功能暂时关闭!