
discrepancy in date conversion
    8 次查看(过去 30 天)
  
       显示 更早的评论
    
Hi,
The DT=datenum(2017,5,13,0,0,0);  in matlab gives: 736828
when i convert 736828 in excel to dattime it gives 5/13/3917  12:00:00 AM.
What is the reason behind such change in the year between matlab and excel conversion?
Thanks!
0 个评论
采纳的回答
  Urmila
    
 2020-11-20
        Hi,
Looks like the date format in the excel sheet is different. You can Ctrl+1 to format the cells and select the format as shown in the screenshot.
However, a better solution would be to use datetime function, DT=datetime(2017,5,13,0,0,0); This will make the variable DT to be a datetime variable and you need not have to change the format manually.

0 个评论
更多回答(2 个)
  Steven Lord
    
      
 2020-11-20
        See the description of the dateType input that you can pass into datetime on the documentation page for datetime, specifically the description of the 'datenum' and 'excel' values. I second Urmila's suggestion to use datetime instead of serial date numbers returned by datenum. [The documentation page for datenum makes the same recommendation.]
1 个评论
  Peter Perkins
    
 2020-11-20
				Yes, to add to what Steve has said:
>> datetime(736828,'ConvertFrom','datenum')
ans = 
  datetime
   13-May-2017
>> datetime(736828,'ConvertFrom','excel')
ans = 
  datetime
   13-May-3917   
Excel uses a completely different representation that the old MATLAB datenum format. And you should stay away from using datenum at all, and use the new and better datetime instead.
另请参阅
类别
				在 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!


