How to understand a datenum date?

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

Stephen23
Stephen23 2021년 8월 25일
"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.

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

답변 (1개)

per isakson
per isakson 2021년 8월 24일
편집: per isakson 2021년 8월 24일

0 개 추천

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

Walter Roberson
Walter Roberson 2021년 8월 25일
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?

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

카테고리

도움말 센터File Exchange에서 Dates and Time에 대해 자세히 알아보기

질문:

2021년 8월 24일

댓글:

2021년 8월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by