百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

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

wptr33 2025-07-08 23:40 4 浏览


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


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

from datetime import datetime

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

关键点

  • 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)  # 输出:1719315045.123456

# 时间戳转时间对象
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()


8. 性能对比

方法

执行时间(百万次)

适用场景

time.time()

0.8秒

只需时间戳

datetime.now()

1.2秒

需要完整时间信息

time.strftime()

1.5秒

格式化输出


掌握时间操作后,你可以轻松实现:
数据记录的自动时间戳
定时任务调度
国际化应用的时区转换
性能测试的时间计算

相关推荐

突然崩了!很多人以为电脑坏了,腾讯紧急回应

今天(24日)上午,多名网友反应,收到QQ遇到错误的消息,#QQ崩了#登上热搜。有网友表示:“一直在重新登录,以为是电脑的问题”@腾讯QQ发微博致歉:今天11点左右,有少量用户使用桌面QQ时出现报错...

Excel八大常见错误值全解析,从此告别乱码烦恼~

我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!——首发于微信号:桃大喵学习记日常工作中很多小伙伴经常被Excel报错困扰,#N/A、#VALUE!、#REF!...这些...

Excel中#NAME?错误详解,新手必看!

你是不是在输入函数时,突然看到#NAME?报错,完全不懂哪里出问题?本篇小红书文章,一次讲清楚【#NAME?】错误的4大常见原因+对应解决方法!什么是#NAME?错误?当Excel...

Rust错误处理秒变简单!anyhow和thiserror就像你的贴心小助手

导语:遇到Rust错误提示就像看天书?别慌!anyhow和thiserror就像翻译官+小秘书组合,把混乱的错误信息变成人话,还能帮你记录出错现场!一、错误处理为什么烦人?(就像迷路没导航)...

Excel中#DIV/0!错误详解,新手避坑指南

在用Excel做计算时,常常会遇到#DIV/0!报错,特别是涉及除法的时候。这篇文章帮你搞懂出现这个错误的原因,附上实用的解决方法什么是#DIV/0!错误?#DIV/0!=除数是0...

Excel中#VALUE!错误详解,新手秒懂!

你是不是经常在Excel中遇到#VALUE!报错,却不知道为什么?今天这篇小红书文章,一次性讲清楚【#VALUE!】的出现原因+解决方法!什么是#VALUE!错误?#VALUE!是...

30天学会Python编程:24. Python设计模式与架构

24.1设计模式基础24.1.1设计模式分类24.1.2SOLID原则...

Python学不会来打我(25)函数参数传递详解:值传递?引用传递?

在Python编程中,函数参数的传递机制...

30天学会Python编程:20. Python网络爬虫简介

20.1网络爬虫基础20.1.1爬虫定义与原理20.1.2法律与道德规范表19-1爬虫合法性要点...

「ELK」elastalert 日志告警(elk日志平台)

一、环境系统:centos7elk版本:7.6.21.1ElastAlert工作原理...

让你的Python代码更易读:7个提升函数可读性的实用技巧

如果你正在阅读这篇文章,很可能你已经用Python编程有一段时间了。今天,让我们聊聊可以提升你编程水平的一件事:编写易读的函数。...

Python常见模块机os、sys、pickle、json、time用法

1.os模块:提供与操作系统交互的功能。importos#获取当前工作目录current_dir=os.getcwd()#创建新目录os.mkdir("new_direc...

当心!Python中的这个高效功能,可能让你的代码“裸奔”?

如果你经常用Python,一定对F-strings不陌生——它简洁、高效,一行代码就能让字符串和变量无缝拼接,堪称“代码美颜神器”。但你知道吗?这个看似人畜无害的功能,如果使用不当,可能会让你的程序“...

xmltodict,一个有趣的 Python 库!

大家好,今天为大家分享一个有趣的Python库-xmltodict。...

如何用Python写一个自动备份脚本(备份列表python)

今天想整个自动备份脚本,用到schedule模块,这个模块是三方库,所有我们就要安装下,没有的模块,显示的颜色就不一样,不同编辑工具显示颜色不一样,这里是vs显示灰白色吧。...