1212import typing
1313import pydantic
1414import datetime
15- import time
1615import json
1716
17+ from simvue .utilities import simvue_timestamp
18+
1819try :
1920 from typing import Self
2021except ImportError :
@@ -451,21 +452,29 @@ def created(self) -> datetime.datetime | None:
451452 """
452453 _created : str | None = self ._get_attribute ("created" )
453454 return (
454- datetime .datetime .strptime (_created , DATETIME_FORMAT ) if _created else None
455+ datetime .datetime .strptime (_created , DATETIME_FORMAT ).astimezone (
456+ datetime .timezone .utc
457+ )
458+ if _created
459+ else None
455460 )
456461
457462 @created .setter
458463 @write_only
459464 @pydantic .validate_call
460465 def created (self , created : datetime .datetime ) -> None :
461- self ._staging ["created" ] = created . strftime ( DATETIME_FORMAT )
466+ self ._staging ["created" ] = simvue_timestamp ( created )
462467
463468 @property
464469 @staging_check
465470 def runtime (self ) -> datetime .datetime | None :
466471 """Retrieve execution time for the run"""
467472 _runtime : str | None = self ._get_attribute ("runtime" )
468- return time .strptime (_runtime , "%H:%M:%S.%f" ) if _runtime else None
473+ return (
474+ _runtime .strptime (_runtime , "%H:%M:%S.%f" ).astimezone (datetime .timezone .utc )
475+ if _runtime
476+ else None
477+ )
469478
470479 @property
471480 @staging_check
@@ -478,14 +487,18 @@ def started(self) -> datetime.datetime | None:
478487 """
479488 _started : str | None = self ._get_attribute ("started" )
480489 return (
481- datetime .datetime .strptime (_started , DATETIME_FORMAT ) if _started else None
490+ datetime .datetime .strptime (_started , DATETIME_FORMAT ).astimezone (
491+ datetime .timezone .utc
492+ )
493+ if _started
494+ else None
482495 )
483496
484497 @started .setter
485498 @write_only
486499 @pydantic .validate_call
487500 def started (self , started : datetime .datetime ) -> None :
488- self ._staging ["started" ] = started . strftime ( DATETIME_FORMAT )
501+ self ._staging ["started" ] = simvue_timestamp ( started )
489502
490503 @property
491504 @staging_check
@@ -498,14 +511,18 @@ def endtime(self) -> datetime.datetime | None:
498511 """
499512 _endtime : str | None = self ._get_attribute ("endtime" )
500513 return (
501- datetime .datetime .strptime (_endtime , DATETIME_FORMAT ) if _endtime else None
514+ datetime .datetime .strptime (_endtime , DATETIME_FORMAT ).astimezone (
515+ datetime .timezone .utc
516+ )
517+ if _endtime
518+ else None
502519 )
503520
504521 @endtime .setter
505522 @write_only
506523 @pydantic .validate_call
507524 def endtime (self , endtime : datetime .datetime ) -> None :
508- self ._staging ["endtime" ] = endtime . strftime ( DATETIME_FORMAT )
525+ self ._staging ["endtime" ] = simvue_timestamp ( endtime )
509526
510527 @property
511528 def metrics (
0 commit comments