V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
jakeyfly
V2EX  ›  问与答

Python 里的时间对比查了一下午 有点晕, 详细的写下求教大佬们

  •  
  •   jakeyfly · Mar 16, 2018 · 2406 views
    This topic created in 2967 days ago, the information mentioned may be changed or developed.

    now_time = datetime.datetime.now().time() 输出 datetime.time(17, 39, 19, 998928) 怎么才能不要 后面这个 998928

    用 now_time = datetime.datetime.now().strptime("%H:%M:%S") 结果应该变成字符串了 不是时间类型了

    然后我想设定一个时间 t = '2018,2,17,01,30,00' tt = datetime.datetime.strptime(t, "%Y,%m,%d,%H,%M,%S") t.time() 输出 datetime.time(1, 30)

    上面的当前时间是 str 跟这个时间做对比出错 提示是类型不一样 然后如何才能获取当前时间的 小时 分 秒 跟 这个设定的时间做对比大小呢

    13 replies    2018-03-16 20:57:40 +08:00
    CloudnuY
        1
    CloudnuY  
       Mar 16, 2018
    分别把%H %M %S 存在三个变量里再比较,多方便………………
    CloudnuY
        2
    CloudnuY  
       Mar 16, 2018


    这样也能拿到时分秒
    jakeyfly
        3
    jakeyfly  
    OP
       Mar 16, 2018
    @CloudnuY 我是比较是不是在一个时间之后啊比如 早上十点之后
    CloudnuY
        4
    CloudnuY  
       Mar 16, 2018
    jakeyfly
        5
    jakeyfly  
    OP
       Mar 16, 2018
    @CloudnuY 还有一个场景是要比较完整时间的 所以 还是想弄个不带最后那个时区数据的 datetime 对像
    edsion996
        6
    edsion996  
       Mar 16, 2018 via iPhone
    datetime 可以直接比较大小
    CodeDrift
        7
    CodeDrift  
       Mar 16, 2018
    同楼上 直接把 2 个时间都转化成 datetime 类型的(相同时区)。然后直接比较大小就行了
    jakeyfly
        8
    jakeyfly  
    OP
       Mar 16, 2018
    @zjb861107 大佬 这个我知道啊 我现在碰到的问题是, 当前时间 datetime.now() 带时区 转换的字符串时间不知道怎么带时区,就是最后面那一串数字。。。。现在要么 now()把时区去掉,要么转换字符串时间的时候带上时区 两种我都不会 求教一种~~~~~~~
    @Anybfans
    CloudnuY
        9
    CloudnuY  
       Mar 16, 2018
    后面那一串数字是 microsecond 微秒吧
    jakeyfly
        10
    jakeyfly  
    OP
       Mar 16, 2018
    @CloudnuY 啊~~~~~那我坑了~~~~我搞错了
    jakeyfly
        11
    jakeyfly  
    OP
       Mar 16, 2018
    @CloudnuY 他马文档中说是时区 我日了~~~~~
    laoyur
        12
    laoyur  
       Mar 16, 2018
    >>> now = datetime.datetime.now().time()
    >>> now
    datetime.time(19, 6, 48, 654624)
    >>> now.replace(microsecond=0)
    datetime.time(19, 6, 48)
    jakeyfly
        13
    jakeyfly  
    OP
       Mar 16, 2018
    @laoyur 大佬 666
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2677 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 03:43 · PVG 11:43 · LAX 20:43 · JFK 23:43
    ♥ Do have faith in what you're doing.