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 Ansichten (letzte 30 Tage)
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 Kommentar
Carlotta
Carlotta am 9 Mär. 2023
I USED THIS CODE AND IT WORKED
tref = datetime(1950,01,01);
TT = tref + days(time); % character vector
tt = datenum(TT); %numeric vector

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Sarvesh Kale
Sarvesh Kale am 9 Mär. 2023
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 am 9 Mär. 2023
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.

Kategorien

Mehr zu Dates and Time finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by