How to understand a datenum date?
조회 수: 23 (최근 30일)
이전 댓글 표시
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
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
2021년 8월 24일
편집: per isakson
2021년 8월 24일
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
str = datestr( sdn )
datenum( str )
댓글 수: 1
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?
참고 항목
카테고리
Help Center 및 File Exchange에서 Dates and Time에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!