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)

42 visualizaciones (últimos 30 días)
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 comentario
Carlotta
Carlotta el 9 de Mzo. de 2023
I USED THIS CODE AND IT WORKED
tref = datetime(1950,01,01);
TT = tref + days(time); % character vector
tt = datenum(TT); %numeric vector

Iniciar sesión para comentar.

Respuestas (2)

Sarvesh Kale
Sarvesh Kale el 9 de Mzo. de 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 el 9 de Mzo. de 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.

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by