pytz and astimezone() cannot be applied to a naive datetime

前端 未结 3 913
一整个雨季
一整个雨季 2020-12-02 20:02

I have a date and I need to make it time zone aware.

local_tz = timezone(\'Asia/Tokyo\')
start_date = \'2012-09-27\'
start_date = datetime.strptime(start_dat         


        
3条回答
  •  -上瘾入骨i
    2020-12-02 20:18

    You could use local_tz.localize(naive_dt, is_dst=None) to convert a naive datetime object to timezone-aware one.

    from datetime import datetime
    import pytz
    
    local_tz = pytz.timezone('Asia/Tokyo')
    
    start_date = local_tz.localize(datetime(2012, 9, 27), is_dst=None)
    now_utc = datetime.utcnow().replace(tzinfo=pytz.utc)
    
    print start_date > now_utc
    

    is_dst=None forces .localize() to raise an exception if given local time is ambiguous.

提交回复
热议问题