How to convert the integer date format into YYYYMMDD?

前端 未结 4 743
Happy的楠姐
Happy的楠姐 2020-12-06 10:18

Python and Matlab quite often have integer date representations as follows:

733828.0 733829.0 733832.0 733833.0 733834.0 733835.0 733836.0 733839.0 733840.0 733841.0

4条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-06 10:36

    Since Python example was already demonstrated, here is the matlab one:

    >> datestr(733828, 'yyyymmdd')
    
    ans =
    
    20090224
    

    Also, note that while looking similar these are actually different things in Matlab and Python:

    Matlab
    A serial date number represents the whole and fractional number of days from a specific date and time, where datenum('Jan-1-0000 00:00:00') returns the number 1. (The year 0000 is merely a reference point and is not intended to be interpreted as a real year in time.)

    Python, datetime.date.fromordinal
    Return the date corresponding to the proleptic Gregorian ordinal, where January 1 of year 1 has ordinal 1.

    So they would differ by 366 days, which is apparently the length of the year 0.

提交回复
热议问题