How to understand a datenum date?

32 visualizaciones (últimos 30 días)
Victoria Helm
Victoria Helm el 24 de Ag. de 2021
Comentada: Stephen23 el 25 de Ag. de 2021
I'm trying to write some code that loops through files that are distinguished by date and I want to use the serial dates generated by datenum to do so. However, I'm having trouble understanding how datenum generates the serial date values. For instance, if I execute the following pseudocode:
myPath = 'D:\data\animals'
listing = dir(myPath)
...and if I open the listing I get a struct with one field being the datenum for each file in my directory. I see that the date and time '23-Aug-2021 18:29:25' generates the datenum 7.3839e+05. I don't understand the pattern. How does that date and time generate that exact value?
Thank you!!!
  1 comentario
Stephen23
Stephen23 el 25 de Ag. de 2021
"How does that date and time generate that exact value?"
The DATENUM documentation states: "A serial date number represents the whole and fractional number of days from a fixed, preset date (January 0, 0000) in the proleptic ISO calendar." Thus if you counted all days (including leap days) from day 0 of year 0000 until the 23rd of August 2021, then you will get that serial date number.
Storing dates as a serial number is very common in computing, only the epoch and unit can be very different.

Iniciar sesión para comentar.

Respuestas (1)

per isakson
per isakson el 24 de Ag. de 2021
Editada: per isakson el 24 de Ag. de 2021
A serial date (number) represents time as the number of days (and fraction of days) from January 0, 0000.
sdn = now % the function, now, returns a serial date number
sdn = 7.3839e+05
str = datestr( sdn )
str = '24-Aug-2021 22:09:33'
datenum( str )
ans = 7.3839e+05
  1 comentario
Walter Roberson
Walter Roberson el 25 de Ag. de 2021
Right.
Note that if you are doing serious astronomical or historical work, you need to ask yourself:
  • what about leap years?
  • what about leap years before the reformation of what constituted a leap year?
  • what about the time before leap years were a thing at all?
  • What about "the Lost Days" (calendar reform to fix leap year problems), which is something that went into effect in different countries at different times
  • What about leap seconds?
  • solar day or sidereal days?

Iniciar sesión para comentar.

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