Convert date to specific format julian date
Show older comments
Need to convert calendar date to Julian date in a specific format (YYDDD). Ex: Day = (2016-05-04,2016-08-24,2016-12-31) J-Day = (16125,16237,16366)
Any help would be appreciated. Thanks.
Accepted Answer
More Answers (4)
Steven Lord
on 3 Oct 2016
0 votes
Create a datetime array from the char vectors containing the yyyy-MM-dd form of the dates. Use the juliandate function to compute the Julian date from the datetime array.
1 Comment
Charlie Wood
on 3 Oct 2016
Edited: Charlie Wood
on 3 Oct 2016
Michael C.
on 3 Oct 2016
My understanding was that Julian usually referred to the number of days since Jan 1 4713 BC, but judging by your example, you are using March 11th, 1972.
Either way, you can get number of days by doing a subtraction on two "datenum"s
datenum([2016 08 24 0 0 0]) - datenum([1972 3 11 0 0 0])
which gives the 16237. Passing in a string for the date will also work.
1 Comment
Charlie Wood
on 3 Oct 2016
Charlie Wood
on 3 Oct 2016
Ankit Kanthe
on 3 Oct 2016
0 votes
Here's what I got combining some answers:
d = '2016-05-04'; dt = datime(d); jday = (year(dt)-2000)*1000 + day(dt,'dayofyear') The answer comes out with 16125. It's not pretty and not useful for dates before the year 2010 (maybe with some minor formatting it would be ok for 2000-2009). It does however work for my 2014-2016 dates so far.
Categories
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!