首页   注册   登录

bolide2005

  •   V2EX 第 103207 号会员,加入于 2015-03-08 16:11:04 +08:00
    bolide2005 最近回复了
    19 小时 13 分钟前
    回复了 dream7758522 创建的主题 问与答 你们那边知乎视频卡不?
    以及图片加载也经常 bug,加载不出来,还有动图也是

    只能说六七年过去了,知乎除了在商业化道路上狂飙突进外,技术还是保持了它特有的风格和水平
    @mzmxcvbn 对的,实际上因为 Python2 里面不存在 datetime.timestamp 方法,一般都是使用 time.time,就不会出现今天你说的这个 utcnow.timestamp 问题
    @mzmxcvbn #44 之前说过了,是把 utc 时间当做本地时间转换的时间戳,可能是 bug 或者是 feature (滑稽
    @mzmxcvbn #40 看函数定义啊

    Help on built-in function fromtimestamp:

    fromtimestamp(...) method of builtins.type instance
    timestamp[, tz] -> tz's local time from POSIX timestamp.

    fromtimestamp 本来得到应该是你的本地时间,现在得到的却是 utc 时间了
    @wwqgtxx #34 你可以按我给的那个网站验证一下,那个时间戳是正确的
    @wwqgtxx #28 时间戳没有时区概念


    @mzmxcvbn #23 看代码,datetime.timestamp 方法,实际上计算的是你给的那个 datetime 相对于 utc 时间的秒数,但里面默认了使用本地时区

    看这里
    >>> datetime.utcnow()
    datetime.datetime(2018, 4, 17, 3, 32, 23, 714844)
    >>> datetime.utcfromtimestamp(datetime.utcnow().timestamp())
    datetime.datetime(2018, 4, 16, 19, 32, 41, 180266)

    看到了吗?用这个 utcnow 时间戳是转换不回来正确的 utc 时间的,因为提前了 8 个小时,所以,time.time()才是正确的,用这个网站验证你的时间戳
    https://www.unixtimestamp.com/
    @mzmxcvbn #16
    用 time.gmtime(0)查一下你系统的 epoch,看看是不是标准 utc,可能是你系统配置或者时钟有问题
    取时间戳为啥不直接用 time.time()? datetime.timestamp 本身是用来做转换的,不是取时间戳;你用哪个时区转换就得用哪个时区反转
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   1214 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 6ms · UTC 00:53 · PVG 08:53 · LAX 17:53 · JFK 20:53
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1