You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the section "Set RTC time from time service," the field raw_offset from the json received from the time service does not take daylight savings into consideration. However, utc_offset does. I was getting the wrong local time here in Southern California during daylight savings until I made the following modification:
print("Getting current time:")
response=requests.get("http://worldtimeapi.org/api/ip")
time_data=response.json()
tz_hour_offset=int(time_data['utc_offset'][0:3])
tz_min_offset=int(time_data['utc_offset'][4:6])
if (tz_hour_offset<0):
tz_min_offset*=-1#unixtime = int(time_data['unixtime']) + int(time_data['raw_offset']) # << Incorrect offset during DSTunixtime=int(time_data['unixtime'] + (tz_hour_offset*60*60)) + (tz_min_offset*60)
print(time_data)
print("URL time: ", response.headers['date'])
rtc.RTC().datetime=time.localtime( unixtime ) # create time struct and set RTC with it
Here is the json data I received from worldtimeapi.org:
In the section "Set RTC time from time service," the field
raw_offset
from the json received from the time service does not take daylight savings into consideration. However,utc_offset
does. I was getting the wrong local time here in Southern California during daylight savings until I made the following modification:Here is the json data I received from worldtimeapi.org:
Here we can verify that
raw_offset
of -28800 = -8 hours, bututc_offset
is -7 hours, which is correct during DST.The text was updated successfully, but these errors were encountered: