zoukankan      html  css  js  c++  java
  • pytz 格式化北京时间 6分钟问题

    使用datetime直接构造时间的时候,设置时区是没有北京时间的,一般来说习惯了linux的同志都会默认用上海时间来代替,这里却有一个问题,如果要进行时区转换,上海时间比北京时间差6分钟。。。
    
    比如:
    
    tz = pytz.timezone('Asia/Shanghai')
    t = datetime.datetime(2015, 9, 5, 9, 0, 0, 0, tzinfo=tz)
    这样打印出来得到的时间是:
    2015-09-07 09:00:00+08:06
    
    在django框架中,貌似from django.utils.timezone import localtime的这个localtime会修正那6分钟,这问题就来了,要自己在程序里构造时间,并且跟用这个localtime转化的时间对比的时候巨麻烦。
    
    解决方法:
    
    tz = pytz.timezone('Asia/Shanghai')
    t = datetime.datetime(start_time.year, start_time.month, start_time.day, 9, 0, 0, 0)
    t = tz.localize(t)
    
    这样打印出来的就没有那个讨厌的:06了。
    2015-09-07 09:00:00+08:00
  • 相关阅读:
    1023. 组个最小数
    1021. 个位数统计
    *1020. 月饼
    *1019. 数字黑洞
    1016. 部分A+B
    *1014. 福尔摩斯的约会
    *1013. 数素数
    *1012. 数字分类
    1011. A+B和C
    *1008. 数组元素循环右移问题
  • 原文地址:https://www.cnblogs.com/cmsd/p/8492514.html
Copyright © 2011-2022 走看看