What is the substitute of 'posixtime' which starts counting from 6th Jan, 1980

3 vues (au cours des 30 derniers jours)
SA
SA le 31 Mar 2021
Commenté : SA le 31 Mar 2021
With the following code I get the TimeStamp is 08-Sep-2020 16:50:00 (This is correct/required)
gps_seconds=1283619000;
gps_start=datetime(1980,1,6,'TimeZone', 'UTC');
TimeStamp=gps_start+seconds(gps_seconds)
However, the following line give me the time time format of 04-Sep-2010 16:50:00 (10 years earlier because 'posixtime' starts counting from 1.1.1970).
TimeStamp = datetime(gps_seconds, 'convertfrom', 'posixtime','TimeZone', 'UTC');
Can anyone may help ...is there any substitute of 'posixtime' which starts counting from 6th Jan, 1980?

Réponse acceptée

Steven Lord
Steven Lord le 31 Mar 2021
Modifié(e) : Steven Lord le 31 Mar 2021
Is there some reason your first code segment is unacceptable for your application?
gps_seconds=1283619000;
gps_start=datetime(1980,1,6,'TimeZone', 'UTC');
TimeStamp=gps_start+seconds(gps_seconds)
TimeStamp = datetime
08-Sep-2020 16:50:00
Do you want one call to datetime without having to add on the seconds later?
gps_seconds=1283619000;
TimeStamp2 = datetime(1980,1,6,0, 0, gps_seconds,'TimeZone', 'UTC')
TimeStamp2 = datetime
08-Sep-2020 16:50:00
Or you could use 'epochtime'.
TimeStamp3 = datetime(gps_seconds,'ConvertFrom','epochtime','Epoch',gps_start, ...
'TimeZone', 'UTC')
TimeStamp3 = datetime
08-Sep-2020 16:50:00
Let's check.
TimeStamp == TimeStamp2
ans = logical
1
TimeStamp == TimeStamp3
ans = logical
1
  1 commentaire
SA
SA le 31 Mar 2021
Thanks, Steven for the support. There is no reason to unaccept the 1st part of the code. However, I do believe there are a lot of smart ways, people may think. In this case, I appreciate your approach.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by