Daylight savings time question

Dan Stromberg drsalists at gmail.com
Tue Mar 24 18:24:56 EDT 2015


Is there a way of "adding" 4 hours and getting a jump of 5 hours on
March 8th, 2015 (due to Daylight Savings Time), without hardcoding
when to spring forward and when to fall back?  I'd love it if there's
some library that'll do this for me.

#!/usr/bin/python

import pytz
import datetime

def main():
    # On 2015-03-08, 2:00 AM to 2:59AM Pacific time does not exist -
the clock jumps forward an hour.
    weird_naive_datetime = datetime.datetime(2015, 3, 8, 1, 0,
0).replace(tzinfo=pytz.timezone('US/Pacific'))
    weird_tz_aware_datetime =
weird_naive_datetime.replace(tzinfo=pytz.timezone('US/Pacific'))
    print(weird_tz_aware_datetime)
    four_hours=datetime.timedelta(hours=4)
    print('Four hours later is:')
    print(weird_tz_aware_datetime + four_hours)
    print('...but I want numerically 5 hours later, because of
Daylight Savings Time')

main()


Thanks!



More information about the Python-list mailing list