Python 获取当前时间 年-月-日-时-分-秒

Python Version (使用版本):
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47)
[MSC v.1914 32 bit (Intel)] on win32

Time : 2021年6月8日22:24:58 By: MemoryEr 公众号: 源来科技工作室

一 简单用法,打印查看并对比使用

import datetime
#导入库

GetNow = datetime.datetime.now()
#打印当前时间
print("当前时间 :",GetNow)

GetYear = datetime.datetime.now().year
GetMonth = datetime.datetime.now().month
GetDay  = datetime.datetime.now().day
#打印对应值: 年-月-日
print("年-月-日 :",GetYear,GetMonth,GetDay)

GetHour = datetime.datetime.now().hour
GetMinute = datetime.datetime.now().minute
GetSecond = datetime.datetime.now().second
#打印对应值: 时-分-秒 
print("时-分-秒 :",GetHour,GetMinute,GetSecond)

print(type(GetHour))
#获取返回的类型是: 整数型,对比参数时,需要对应转化.
if GetHour >=23 :
    print("Game Over !")
else:
    print("Are you ok ?")
<think>好的,用户想用Python输出当前时间,格式是-----。我需要找出几种方法,并且确保符合他们的需求。首先,回忆一下Python处理时间的模块,常用的有time和datetime。 根据用户提供的引用,引用1用了time模块的strftime方法,格式字符串是&#39;%Y-%m-%d %H:%M:%S&#39;,这接近用户的要求,但隔符是空格和冒号。用户需要的是全部用短横线连接,可能需要调整格式字符串为&#39;%Y-%m-%d-%H-%M-%S&#39;。不过要确认time模块是否支持这种格式,应该没问题,因为格式符只是替换成数字,隔符可以自由定义。 引用3中的例子用了datetime模块的now()方法,然后获取各个时间,再拼接成字符串。这种方法虽然灵活,但代码稍显繁琐,特别是如果用户需要固定两位数的份、期等,可能需要格式化每个部,比如用f"{now.month:02d}"来补零。不过用户提供的示例代码里没有补零,直接用了now.month,这可能导致个位数份或期显示为一位数,例如3会显示成3而不是03。所以需要提醒用户注意这一点,或者建议使用strftime来确保格式统一。 引用2展示了使用datetime模块计算时间差,但同也演示了如何获取当前时间并打印。其中starttime直接打印的话,默认格式类似&#39;2023-10-05 14:30:45.123456&#39;,但用户可能需要更精确的控制,所以还是推荐使用strftime方法。 综合来看,用户需要的是-----,每个部都用短横线连接。正确的做法应该是使用datetime模块的strftime方法,或者time模块的strftime,并设置对应的格式字符串。例如,格式字符串应为&#39;%Y-%m-%d-%H-%M-%S&#39;。这样就能生成类似2023-10-05-14-30-45的字符串。 另外要注意的是,datetime模块的now()函数返回的是本地时间,而time.localtime()也是本地时间,所以两者都可以。但datetime模块通常更常用,尤其是在需要处理时间对象的情况下。如果用户只需要字符串,两种方法都可以,但datetime可能更方便,尤其是当需要处理更复杂的期操作。 还需要检查各引用中的代码是否符合用户需求。比如引用1中的格式是&#39;%Y-%m-%d %H:%M:%S&#39;,用户需要将空格和冒号都替换为短横线,所以正确的格式字符串应该是&#39;%Y-%m-%d-%H-%M-%S&#39;。在代码中,无论是datetime还是time模块,都可以使用这个格式。 另外,用户的问题可能涉及到是否需要补零,比如份和期是否为两位数。使用strftime的格式符会自动补零,比如%m是两位数的份,%d是两位数的期,所以这样处理是正确的。而如果用户用手动拼接的方式,比如引用3中的方法,可能出现个位数的情况,所以必须提醒用户使用strftime来保证格式统一。 总结:推荐两种方法,一种是使用datetime模块的strftime,另一种是使用time模块的strftime。两种方法都可以达到效果,代码示例需要正确应用格式字符串。同,需要指出两种方法的区别,比如datetime模块更面向对象,而time模块更底层。此外,提醒用户注意格式字符串中的隔符是否正确替换。</think>在Python中,可以通过`datetime`模块或`time`模块实现-----格式的时间输出。以下是两种常用方法: --- ### 方法1:使用`datetime`模块(推荐) 直接调用`datetime.now()`获取当前时间,并通过`strftime`方法格式化输出: ```python from datetime import datetime current_time = datetime.now().strftime(&#39;%Y-%m-%d-%H-%M-%S&#39;) print(current_time) ``` - `%Y`:四位份(如2023- `%m`:两位份(01-12) - `%d`:两位期(01-31- `%H`:24小制的小00-23- `%M`:两位钟(00-59- `%S`:两位00-59) 输出示例:`2023-10-05-14-30-45`[^3] --- ### 方法2:使用`time`模块 通过`time.localtime()`获取本地时间,再用`strftime`格式化: ```python import time current_time = time.strftime(&#39;%Y-%m-%d-%H-%M-%S&#39;, time.localtime()) print(current_time) ``` 输出结果与方法1一致[^1]。 --- ### 对比说明 1. **datetime模块**更适合处理复杂期计算(如时间差、期加减)[^2]。 2. **time模块**更底层,适用于简单的时间获取和格式化[^1]。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MemroyErHero

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值