【问题标题】:Conversion to local time zone yields different value in different machine转换为本地时区在不同的机器上产生不同的值
【发布时间】:2012-04-30 13:55:55
【问题描述】:

我在 mongodb 中以 UTC 格式存储了一些推文,并将推文中指定的 utc 时间转换为我本地机器上的本地时区,它在本地机器上正确呈现,但在我的服务器中不正确呈现。

存储

        #d is the tweet

        created_at = d['created_at']
        dt = datetime.datetime.strptime(created_at,\
                 "%a %b %d %H:%M:%S +0000 %Y")
        dt = dt.replace(second = 0, minute=0)
        db.collection({'created_at': dt})

转化

here = tz.tzlocal('Asia/Colombo')
utc = tz.gettz('UTC')
for index, item in enumerate(items):
    ist = item['created_at'].replace(tzinfo=utc).astimezone(here)
    ist_readable = ist.replace(minute =0, second = 0).ctime()
    items[index]['created_at'] = ist_readable
return items

输出

Thu Apr 19 04:00:00 2012
Thu Apr 19 03:00:00 2012

在本地机器中输出

Thu Apr 19 09:00:00 2012 
Thu Apr 19 08:00:00 2012 

本地机器时区设置为“IST”,服务器时区设置为“UTC”。

【问题讨论】:

    标签: python datetime mongodb pymongo


    【解决方案1】:
    here = tz.gettz('Asia/Colombo')
    

    【讨论】:

      猜你喜欢
      • 2012-11-22
      • 1970-01-01
      • 2015-06-12
      • 2016-02-06
      • 2018-03-27
      • 2020-09-17
      • 1970-01-01
      • 1970-01-01
      • 2021-05-04
      相关资源
      最近更新 更多