【问题标题】:Google analytics and django datetime谷歌分析和 django 日期时间
【发布时间】:2015-05-18 08:41:27
【问题描述】:

我正在尝试将来自谷歌分析和 django 应用程序的数据组合在一起。

数据库中django的日期时间是UTC。谷歌分析数据的时区为 IST。

我正在根据 IST 从谷歌分析获取一段时间的数据,并在 IST 的同一时期从 django 获取数据。有很多变化。

  • 有什么办法可以解决这个问题吗?

【问题讨论】:

    标签: django datetime google-analytics


    【解决方案1】:

    IST(印度标准时间)比 UTC 早 5:30 (http://www.timeanddate.com/time/zones/ist)。从 Django 获取数据时,请确保使用本地化的日期时间对象:

    import pytz
    from datetime import datetime    
    
    tz_india = pytz.timezone('Asia/Kolkata')
    start = tz_india.localize(datetime(#Here create you datetime object from IST))
    end = tz_india.localize(datetime(#Here create you datetime object from IST))
    

    【讨论】:

      【解决方案2】:

      您最好的选择可能是将默认时区从您的 Django 应用程序更改为 IST。

      首先你应该检查Django settings: TIME_ZONE

      如果您了解它的工作原理,您将更好地了解如何修复它。

      要将默认时区更改为 IST,您需要在 settings.py 中添加:

      TIME_ZONE =  'Asia/Kolkata'
      

      如果Asia/Kolkata 不符合您的需求,您可以在下一个 URL 中查看所有可用时区:

      List of Time Zones

      如果您更喜欢管理日期时间对象并将 UTC 转换为 IST 或相反,您可以这样做:

      将数据从 UTC 转换为 IST

      from datetime import datetime
      from pytz import timezone
      
      format = "%Y-%m-%d %H:%M:%S %Z%z"
      
      # Current time in UTC
      now_utc = datetime.now(timezone('UTC'))
      print now_utc.strftime(format)
      Output: 2015-05-18 10:02:47 UTC+0000
      
      # Convert to Asia/Kolkata time zone
      now_asia = now_utc.astimezone(timezone('Asia/Kolkata'))
      print now_asia.strftime(format)
      Output: 2015-05-18 15:32:47 IST+0530
      

      将数据从 IST 转换为 UTC

      from datetime import datetime
      from pytz import timezone
      
      format = "%Y-%m-%d %H:%M:%S %Z%z"
      
      # Current time in Asia/Kolkata
      now_asia = datetime.now(timezone('Asia/Kolkata'))
      print now_asia.strftime(format)
      Output: 2015-05-18 15:32:47 IST+0530
      
      # Convert to UTC time zone
      now_utc = now_utc.astimezone(timezone('UTC'))
      print now_utc.strftime(format)
      Output: 2015-05-18 10:02:47 UTC+0000
      

      【讨论】:

        猜你喜欢
        • 2012-10-02
        • 2016-03-22
        • 1970-01-01
        • 2016-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多