How to create datetime from day of year?
    6 views (last 30 days)
  
       Show older comments
    
    Bruce Elliott
 on 24 Sep 2015
  
    
    
    
    
    Commented: Peter Perkins
    
 on 25 Sep 2015
            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 Comment
  Peter Perkins
    
 on 25 Sep 2015
				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.
Accepted Answer
  Steven Lord
    
      
 on 24 Sep 2015
        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)
More Answers (0)
See Also
Categories
				Find more on Dates and Time in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!