How to create datetime from day of year?
35 次查看(过去 30 天)
显示 更早的评论
I know that I can get a date from a datetime object as YYYY-DDD, but what if I want to create a datetime object, given the year and day-of-year?
I've done this: >> T = datetime(2015,1,1) + days(266);
but is there a more direct way?
1 个评论
Peter Perkins
2015-9-25
It's worth noting that as long as you don't opt into time zones, the above works, but in general what you'd want is datetime(2015,1,1) + caldays(266). day(1) is just another way of saying hours(24), whereas caldays(1) is really "one day on the calendar" and accounts for daylight saving changes.
采纳的回答
Steven Lord
2015-9-24
The day, month, and year numbers you input into DATETIME don't need to be within the normal ranges for those numbers (1 to 12 for month, 1 to 28/29/30/31 for day depending on the month, etc.) For instance, September 24th 2015 is the 267th day of the year.
>> datetime(2015, 1, 267)
ans =
24-Sep-2015
A = magic(4);
A(5) % A only has 4 rows but this linear index wraps around and refers to A(1, 2)
更多回答(0 个)
另请参阅
类别
在 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!