From cf9c0018a5095ac00bcde09c721e7ebc4888c121 Mon Sep 17 00:00:00 2001 From: jochenstahn Date: Mon, 9 Dec 2024 10:03:56 +0100 Subject: [PATCH] tried to handle summer time correctly.... --- libeos/file_reader.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libeos/file_reader.py b/libeos/file_reader.py index 6ab0aa9..d138bff 100644 --- a/libeos/file_reader.py +++ b/libeos/file_reader.py @@ -3,6 +3,7 @@ import os import subprocess import sys from datetime import datetime, timezone +import pytz from typing import List import h5py @@ -373,7 +374,7 @@ class AmorData: self.pixelID_e = self.pixelID_e[filter_e] self.wallTime_e = self.wallTime_e[filter_e] if np.shape(filter_e)[0]-np.shape(self.tof_e)[0]>0.5: - logging.warning(f'# strange times: {np.shape(filter_e)[0]-np.shape(self.tof_e)[0]}') + logging.warning(f' strange times: {np.shape(filter_e)[0]-np.shape(self.tof_e)[0]}') def read_event_stream(self): self.tof_e = np.array(self.hdf['/entry1/Amor/detector/data/event_time_offset'][:])/1.e9 @@ -437,7 +438,11 @@ class AmorData: self.nu = self.config.nu # extract start time as unix time, adding UTC offset of 1h to time string - self.fileDate = datetime.fromisoformat( self.hdf['/entry1/start_time'][0].decode('utf-8')+"+01:00" ) + tz = pytz.timezone('Europe/Zurich') + fileDate = datetime.fromisoformat( self.hdf['/entry1/start_time'][0].decode('utf-8')) + timeOffset = f'{int(str(tz.utcoffset(fileDate)).split(':')[0]):+03d}' + #self.fileDate = datetime.fromisoformat( self.hdf['/entry1/start_time'][0].decode('utf-8')+"+02:00" ) + self.fileDate = datetime.fromisoformat( self.hdf['/entry1/start_time'][0].decode('utf-8')+timeOffset ) self.startTime = np.int64( (self.fileDate.timestamp() ) * 1e9 ) if self.seriesStartTime is None: self.seriesStartTime = self.startTime