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

조회 수: 2 (최근 30일)
SA
SA 2021년 3월 31일
댓글: SA 2021년 3월 31일
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?

채택된 답변

Steven Lord
Steven Lord 2021년 3월 31일
편집: Steven Lord 2021년 3월 31일
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
SA
SA 2021년 3월 31일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Dates and Time에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by