diff --git a/src/View/BoundaryCondition/Edit/Table.py b/src/View/BoundaryCondition/Edit/Table.py index d4e981df..bbde866e 100644 --- a/src/View/BoundaryCondition/Edit/Table.py +++ b/src/View/BoundaryCondition/Edit/Table.py @@ -98,7 +98,7 @@ class TableModel(PamhyrTableModel): value = timestamp_to_old_pamhyr_date(int(v)) else: value = format_datetime( - self._start_date + timedelta(seconds=float(v)) + datetime(1970, 1, 1) + timedelta(seconds=float(v)) ) else: value = f"{v}" @@ -118,7 +118,7 @@ class TableModel(PamhyrTableModel): try: if (self._data.header[column] == "time" and self._opt_data == "date"): - value = self.date_to_elapsed_seconds(value) + value = self.date_to_timestamp(value) row = self.get_true_data_row(row) diff --git a/src/View/BoundaryConditionsAdisTS/Edit/Table.py b/src/View/BoundaryConditionsAdisTS/Edit/Table.py index e6c714d8..99c82c9f 100644 --- a/src/View/BoundaryConditionsAdisTS/Edit/Table.py +++ b/src/View/BoundaryConditionsAdisTS/Edit/Table.py @@ -88,7 +88,7 @@ class TableModel(PamhyrTableModel): value = timestamp_to_old_pamhyr_date(int(v)) else: value = format_datetime( - self._start_date + timedelta(seconds=float(v)) + datetime(1970, 1, 1) + timedelta(seconds=float(v)) ) else: value = f"{v}" @@ -108,7 +108,7 @@ class TableModel(PamhyrTableModel): try: if (self._data.header[column] == "time" and self._opt_data == "date"): - value = self.date_to_elapsed_seconds(value) + value = self.date_to_timestamp(value) row = self.get_true_data_row(row) diff --git a/src/View/BoundaryConditionsTemperature/Edit/Table.py b/src/View/BoundaryConditionsTemperature/Edit/Table.py index 196d68d7..7854d91a 100644 --- a/src/View/BoundaryConditionsTemperature/Edit/Table.py +++ b/src/View/BoundaryConditionsTemperature/Edit/Table.py @@ -88,7 +88,7 @@ class TableModel(PamhyrTableModel): value = timestamp_to_old_pamhyr_date(int(v)) else: value = format_datetime( - self._start_date + timedelta(seconds=float(v)) + datetime(1970, 1, 1) + timedelta(seconds=float(v)) ) else: value = f"{v}" @@ -108,7 +108,7 @@ class TableModel(PamhyrTableModel): try: if (self._data.header[column] == "time" and self._opt_data == "date"): - value = self.date_to_elapsed_seconds(value) + value = self.date_to_timestamp(value) row = self.get_true_data_row(row) diff --git a/src/View/LateralContribution/Edit/Table.py b/src/View/LateralContribution/Edit/Table.py index 289b0265..94b2c39f 100644 --- a/src/View/LateralContribution/Edit/Table.py +++ b/src/View/LateralContribution/Edit/Table.py @@ -77,7 +77,7 @@ class TableModel(PamhyrTableModel): value = timestamp_to_old_pamhyr_date(int(v)) else: value = format_datetime( - self._start_date + timedelta(seconds=float(v)) + datetime(1970, 1, 1) + timedelta(seconds=float(v)) ) else: value = f"{v}" @@ -97,7 +97,7 @@ class TableModel(PamhyrTableModel): try: if (self._data.header[column] == "time" and self._opt_data == "date"): - value = self.date_to_elapsed_seconds(value) + value = self.date_to_timestamp(value) self._undo.push( SetDataCommand( diff --git a/src/View/LateralContributionsAdisTS/Edit/Table.py b/src/View/LateralContributionsAdisTS/Edit/Table.py index eacd21b1..d055be64 100644 --- a/src/View/LateralContributionsAdisTS/Edit/Table.py +++ b/src/View/LateralContributionsAdisTS/Edit/Table.py @@ -91,7 +91,7 @@ class TableModel(PamhyrTableModel): value = timestamp_to_old_pamhyr_date_adists(int(v)) else: value = format_datetime( - self._start_date + timedelta(seconds=float(v)) + datetime(1970, 1, 1) + timedelta(seconds=float(v)) ) else: value = f"{v}" @@ -111,7 +111,7 @@ class TableModel(PamhyrTableModel): try: if (self._data.header[column] == "time" and self._opt_data == "date"): - value = self.date_to_elapsed_seconds(value) + value = self.date_to_timestamp(value) row = self.get_true_data_row(row) diff --git a/src/View/Tools/PamhyrTable.py b/src/View/Tools/PamhyrTable.py index a3196f97..5ba5b5d2 100644 --- a/src/View/Tools/PamhyrTable.py +++ b/src/View/Tools/PamhyrTable.py @@ -18,6 +18,7 @@ import logging import traceback +from datetime import timezone from tools import trace, timer, parse_datetime @@ -62,8 +63,8 @@ class PamhyrTextDelegate(QStyledItemDelegate): class PamhyrTableModel(QAbstractTableModel): - def date_to_elapsed_seconds(self, value): - """Convert an entered date to seconds since the study start date.""" + def date_to_timestamp(self, value): + """Convert an accepted calendar date to its raw UTC timestamp.""" try: entered_date = parse_datetime(value) except ValueError as error: @@ -81,7 +82,7 @@ class PamhyrTableModel(QAbstractTableModel): ) raise error - return (entered_date - self._start_date).total_seconds() + return entered_date.replace(tzinfo=timezone.utc).timestamp() def _setup_delegates(self): if self._table_view is None: diff --git a/src/View/WeatherParameters/Edit/Table.py b/src/View/WeatherParameters/Edit/Table.py index 2a9c8754..91e3ca0f 100644 --- a/src/View/WeatherParameters/Edit/Table.py +++ b/src/View/WeatherParameters/Edit/Table.py @@ -78,7 +78,7 @@ class TableModel(PamhyrTableModel): value = timestamp_to_old_pamhyr_date(int(v)) else: value = format_datetime( - self._start_date + timedelta(seconds=float(v)) + datetime(1970, 1, 1) + timedelta(seconds=float(v)) ) else: value = f"{v}" @@ -98,7 +98,7 @@ class TableModel(PamhyrTableModel): try: if (self._data.header[column] == "time" and self._opt_data == "date"): - value = self.date_to_elapsed_seconds(value) + value = self.date_to_timestamp(value) self._undo.push( SetDataCommand(