Python获取并输出当前日期时间

本文介绍如何使用Python的time模块获取并格式化当前日期和时间。通过实例演示了如何获得时间戳、本地时间以及定制化的日期时间格式。

Python获取并输出当前日期时间

 

取得时间相关的信息的话,要用到python time模块,python time模块里面有很多非常好用的功能,你可以去官方
文档了解下,要取的当前时间的话,要取得当前时间的时间戳,时间戳好像是1970年到现在时间相隔的时间。

你可以试下下面的方式来取得当前时间的时间戳:
import time
print time.time()
输出的结果是:
1357723206.31

但是这样是一连串的数字不是我们想要的结果,我们可以利用time模块的格式化时间的方法来处理:
time.localtime(time.time())
用time.localtime()方法,作用是格式化时间戳为本地的时间。
输出的结果是:
time.struct_time(tm_year=2010, tm_mon=7, tm_mday=19, tm_hour=22, tm_min=33, tm_sec=39, tm_wday=0, tm_yday=200, tm_isdst=0)

现在看起来更有希望格式成我们想要的时间了。
time.strftime('%Y-%m-%d',time.localtime(time.time()))

最后用time.strftime()方法,把刚才的一大串信息格式化成我们想要的东西,现在的结果是:
2013-01-09

输出日期和时间:

time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

time.strftime里面有很多参数,可以让你能够更随意的输出自己想要的东西:
下面是time.strftime的参数:
strftime(format[, tuple]) -> string
将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12) 
%M 分钟数(00=59)
%S 秒(00-59)

%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

<think>我们正在回答用户的问题:如何在Python输出当前时间日期 根据引用[1]和[2],主要介绍了使用datetime模块和time模块获取当前时间日期格式化输出。 引用[3]提到了使用dateutil库,但这不是标准库,用户可能更倾向于标准方法。 引用[4]展示了time模块返回的结构化时间。 因此,我们将重点介绍两种主流方法:datetime和time模块。 步骤: 1. 使用datetime模块(最常用) 2. 使用time模块 3. 可选:使用第三方库arrow(引用[1]提到)和dateutil(引用[3]提到),但用户问题没有明确要求,我们简要提及。 另外,根据用户引用[2],我们将展示如何格式化输出。 注意:用户要求输出当前时间日期,所以我们重点放在如何获取输出。 具体方法如下: </think>在Python输出当前时间日期有多种方法,以下是最常用的三种标准化方案,结合引用内容进行详细说明: ### 📅 方法一:使用`datetime`模块(推荐方案) ```python from datetime import datetime # 获取当前日期时间(精确到微秒) current_time = datetime.now() print(f"当前日期时间: {current_time}") # 格式化输出(引用[2]的格式化符号) formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S") print(f"格式化时间: {formatted_time}") # 输出:2023-08-15 14:30:45 ``` **说明**: - `datetime.now()` 返回包含年月日时分秒微秒的完整对象[^1] - `strftime()` 使用格式化符号定制输出(如 `%Y`=四位年份, `%m`=两位月份)[^2] - 性能最佳,无需额外安装库 ### ⏱ 方法二:使用`time`模块(适合简单场景) ```python import time # 时间戳格式(秒级精度) timestamp = time.time() print(f"时间戳: {timestamp}") # 输出:1692102645.278 # 结构化时间(引用[4]) local_time = time.localtime() print(f"结构化时间: {local_time}") # 输出:time.struct_time(tm_year=2023, tm_mon=8, ...) # 格式化输出 formatted = time.strftime("%Y/%m/%d %I:%M%p", local_time) print(f"12小时制时间: {formatted}") # 输出:2023/08/15 02:30PM ``` ### 📦 方法三:第三方库`arrow`(高级时区处理) ```python # 需先安装:pip install arrow import arrow # 获取带时区的时间 now = arrow.now('Asia/Shanghai') print(f"上海时间: {now}") # 输出:2023-08-15T14:30:45+08:00 # 人性化输出 print(now.humanize()) # 输出:just now / 2 hours ago ``` **适用场景**: - 需要跨时区转换时 - 需要人性化时间表达(如"5分钟前") ### 注意事项 1. **精度差异**: - `datetime`:微秒级($$ \text{精度}=10^{-6}\text{秒} $$) - `time.time()`:通常微秒级(依赖系统) 2. **格式符号对照表**(部分核心符号): | 符号 | 含义 | 示例 | |------|---------------|------------| | `%Y` | 四位年份 | 2023 | | `%m` | 两位月份 | 08 | | `%d` | 两位日期 | 15 | | `%H` | 24小时制小时 | 14 | | `%I` | 12小时制小时 | 02 | | `%M` | 分钟 | 30 | | `%S` | 秒 | 45 | | `%p` | AM/PM | PM | 3. **写入文件**(引用[4]): ```python with open("log.txt", "a") as f: f.write(datetime.now().strftime("[%Y-%m-%d %H:%M] 系统启动\n")) ``` --- ### 不同场景推荐方案 | 需求场景 | 推荐方案 | 优势 | |----------------------|----------------------|----------------------------| | 日志记录 | `datetime.now()` | 自带毫秒级精度[^1] | | 定时任务 | `time.time()` | 时间戳便于计算间隔 | | 多时区系统 | `arrow` | 简洁的时区转换 | | 用户界面显示友好时间 | `arrow.humanize()` | "5分钟前"等自然语言 | | 历史数据兼容 | `time.localtime()` | 处理旧格式时间戳 | > **最佳实践**:生产环境优先使用 `datetime` 模块,其线程安全且兼容性最佳[^1]。需要复杂日期计算时可结合 `dateutil`(引用[3])
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值