struct_time对象计算误差问题

struct_time对象计算误差问题

import time

now = time.localtime()
now.tm_hour += 1

strrct_time计算与万年历略有区别

上面代码在闰月的时候是否会跟万年历的计算有几秒的误差

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!无法对tm_hour进行+1操作会报错

https://img1.sycdn.imooc.com//climg/64545faf097b9a9f08560450.jpg

2、同学说的万年历是如何计算的?两种方式输入一个时间戳可以转换成相对应的字符串就可以的。如下图2022年是闰年,是可以相互转换成功的。没有误差。

https://img1.sycdn.imooc.com//climg/6454602509496bad17740282.jpg

祝学习愉快~

  • Mr朱_ 提问者 #1

    https://img1.sycdn.imooc.com//climg/6456558209ecfa2307610236.jpg

    我的疑问是localtime中tm_sec有61秒的问题

    下面代码运行后也没发现 struct_time类型有61秒的情况(日期是闰月1日-29日)

    import time
    
    time_struct = time.strptime('2020-2-1 3:0:0', '%Y-%m-%d %H:%M:%S')
    time_ = time.mktime(time_struct)
    print(time_)
    for _ in range(41500):
        time_ += 60
        time_struct = time.localtime(time_)
        print(time_struct, time.strftime('%Y-%m-%d %H:%M:%S', time_struct))


    2023-05-06 21:29:07
  • 好帮手慕小猿 回复 提问者 Mr朱_ #2

    同学,你好!闰秒为一年的年中或者年尾,以下是闰秒时间,由于是在中国相差8小时,所以需要在下图时间上再加8小时

    https://img1.sycdn.imooc.com//climg/64587b06092f801408060446.jpg

    同学代码是分钟计算的,获取不到60,老师是按秒算的,但是也没有60秒

    https://img1.sycdn.imooc.com//climg/64587bec09f08f1417080083.jpg

    可能是计算机底层的原因没有显示,另外闰秒已经宣布取消时间了。同学可不必过分纠结

    祝学习愉快~

    2023-05-08 12:34:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师