Convert time format from Julian calendar (days since 1950-01-01 00:00:00 UTC) to normal/gregorian calendar (YYYY-MM-DD hh:mm:ss)

34 ビュー (過去 30 日間)
Hi,
I am struggling converting a my date vector from Julian days (units: days since 1950-01-01 00:00:00 UTC) to a normal date format. Possibly, my final vector wuold be in the form YYYY-MM-DD hh:mm:ss.
Thabk you very much.
  1 件のコメント
Carlotta
Carlotta 2023 年 3 月 9 日
I USED THIS CODE AND IT WORKED
tref = datetime(1950,01,01);
TT = tref + days(time); % character vector
tt = datenum(TT); %numeric vector

サインインしてコメントする。

回答 (2 件)

Sarvesh Kale
Sarvesh Kale 2023 年 3 月 9 日
Hi Carlotta,
You might find the link to the post useful https://in.mathworks.com/matlabcentral/answers/1303-convert-julian-date-to-calendar-days, I hope this helps
Thanks

Steven Lord
Steven Lord 2023 年 3 月 9 日
That definition of "julian date" doesn't match either of the ones supported by the datetime function with the "t = datetime(X,'ConvertFrom',dateType)" syntax.
Ah, looking at the Wikipedia page for Julian day you're working with CNES JD data? You could use the formula given on that page, but I'd probably use the approach you gave in your comment.
Though I am curious why you're converting it to a serial date number. As stated on the datenum documentation page use of datenum is not recommended. If you describe what you're hoping to do with those serial date numbers we may be able to suggest how to accomplish those tasks with datetime and duration functionality.

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by