python入门到脱坑经典案例—显示现在时间

python入门到脱坑经典案例—显示现在时间在 Python 中显示当前时间是基础但实用的操作 以下是 5 种方法详解 涵盖基础到进阶应用 附带完整代码和原理说明 1 基础版 datetime now 推荐 from datetime import datetimenow

大家好,欢迎来到IT知识分享网。

Python 中显示当前时间是基础但实用的操作,以下是 5 种方法详解,涵盖基础到进阶应用,附带完整代码和原理说明:


1. 基础版:datetime.now()(推荐)

from datetime import datetime now = datetime.now() print("当前时间:", now) # 输出:2024-06-25 15:30:45.

关键点

  • datetime.now() 返回包含年月日、时分秒、微秒的 datetime 对象
  • 默认格式:YYYY-MM-DD HH:MM:SS.microseconds

2. 格式化输出:strftime()

formatted_time = now.strftime("%Y-%m-%d %H:%M:%S") print("格式化时间:", formatted_time) # 输出:2024-06-25 15:30:45

常用格式代码

代码

含义

示例

%Y

四位年份

2024

%m

两位月份

06

%d

两位日期

25

%H

24小时制

15

%M

分钟

30

%S

45

%A

星期全称

Wednesday

3. 获取独立时间分量

print("年份:", now.year) # 2024 print("月份:", now.month) # 6 print("当日:", now.day) # 25 print("小时:", now.hour) # 15 print("分钟:", now.minute) # 30 print("秒数:", now.second) # 45

应用场景

  • 制作定时任务(如 if now.hour == 12:)
  • 生成按日期分类的文件名

4. 时区处理(pytz库)

from datetime import datetime import pytz # 获取指定时区时间 tz_shanghai = pytz.timezone('Asia/Shanghai') shanghai_time = datetime.now(tz_shanghai) print("上海时间:", shanghai_time) # 输出带时区的时间 # 时区转换 tz_ny = pytz.timezone('America/New_York') ny_time = shanghai_time.astimezone(tz_ny) print("纽约时间:", ny_time)

注意

  • 需安装库:pip install pytz
  • 时区列表:pytz.all_timezones

5. 时间戳操作(Unix时间戳)

import time # 获取当前时间戳(秒级) timestamp = time.time() print("时间戳:", timestamp) # 输出:. # 时间戳转时间对象 timestamp_time = datetime.fromtimestamp(timestamp) print("转时间对象:", timestamp_time) # 时间对象转时间戳 new_timestamp = datetime.now().timestamp() print("新时间戳:", new_timestamp)

应用场景

  • 计算时间间隔
  • 数据库存储时间

6. 完整案例:动态时钟

import time from datetime import datetime while True: now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") print(f"\r当前时间: {now}", end="", flush=True) time.sleep(1) # 每秒刷新

效果
终端显示持续更新的时间(按Ctrl+C停止)


7. 常见问题解答

Q1:如何显示中文星期?

weekdays = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"] print(weekdays[datetime.now().weekday()]) # weekday()返回0-6

Q2:如何计算时间差?

from datetime import timedelta future_time = datetime.now() + timedelta(days=1, hours=3) print("明天的此时:", future_time)

Q3:为什么datetime.now()比time.time()慢?

  • datetime.now() 要处理更多信息(年月日等)
  • 只需时间戳时优先用 time.time()

方法

执行时间(百万次)

适用场景

time.time()

0.8秒

只需时间戳

datetime.now()

1.2秒

需要完整时间信息

time.strftime()

1.5秒

格式化输出

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/183493.html

(0)
上一篇 2025-07-16 08:00
下一篇 2025-07-16 08:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信