代码
朴素版
import os
import sys
n=int(input())
n//=1000
n%=24*60*60
second=n%60
n//=60
minute=n%60
hour=n//60
print('{:02d}:{:02d}:{:02d}'.format(hour,minute,second))
语法小知识
"{:0xd}".format(i)表示将i变为两位十进制数字的字符串,不够x(这里x表示为一个阿拉伯数字)位用0填充(如果x前没有0,则默认用空格填充)
//有关format()函数的应用,可以看下这篇文章,很全的
版权声明:本文为CSDN博主「野生程序员123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xyx_x/article/details/90202813
优化版
思路分析:
需要知道time库中的两个函数
time.gmtime() //转换为time.struct_time类型的时间对象的秒数
time.asctime() //返回一个可读形式的字符串
不知道也没关系,文末有相关知识说明
import time
n=int(input())
print(time.asctime(time.gmtime(n//1000))[11:19])
time.gmtime()和time.asctime()
time.gmtime([secs])
将以自 epoch 开始的秒数表示的时间转换为 UTC 的 struct_time ,其中 dst 标志始终为零。 如果未提供 secs 或为 None ,则使用 time() 所返回的当前时间。 一秒以内的小数将被忽略。
未传入任何参数时,返回当前UTC时间(北京时间)
//代码
import time
n=int(input())
print(time.gmtime())
//输出
time.struct_time(tm_year=2022,tm_mon=3,tm_mday=30,tm_hour=13,tm_min=14,tm_sec=44,tm_wday=2,tm_yday=89,tm_isdst=0)
传入secs,以自 epoch 开始的秒数表示的时间转换为 UTC 的 struct_time
//代码
import time
print(time.gmtime(1))
//输出
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=0)
time.asctime()
Python time asctime() 函数接受时间元组并返回一个可读的形式为”Tue Dec 11 18:07:14 2008”(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
//代码
import time
n=int(input())
print(time.asctime(time.gmtime()))
//输出
Wed Mar 30 13:19:41 2022