Converting Matlab time vector into fractional year date
Show older comments
I feel ridiculous asking this, but is there a single function in Matlab that takes a series of integers/vectors (e.g. [2012,1,1,10,30,03]) or a Matlab time number (e.g. 735630) and converts it into a usable and plottable date of form 2012.01231 in one step? Thanks!
Answers (1)
Azzi Abdelmalek
on 7 Feb 2014
Edited: Azzi Abdelmalek
on 7 Feb 2014
What do you mean by plotable ?
There are many functions related to dates
doc datenum
doc datevec
doc datestr
9 Comments
Jonathan
on 7 Feb 2014
Azzi Abdelmalek
on 7 Feb 2014
What is 2013.2031 ?
Azzi Abdelmalek
on 7 Feb 2014
What is the problem with datenum ?
Jonathan
on 7 Feb 2014
Azzi Abdelmalek
on 7 Feb 2014
n=731204 is an integer, while 2001.95 is not an integer, can you explain what you want ?
Jonathan
on 7 Feb 2014
Azzi Abdelmalek
on 7 Feb 2014
Edited: Azzi Abdelmalek
on 7 Feb 2014
Now can you explain what this real number represent ?
For example if
d='07-Feb-2014 23:39:42'
James Tursa
on 7 Feb 2014
Edited: James Tursa
on 7 Feb 2014
Maybe OP would want something like this (with modifications to make it generic):
2014+(datenum(d) - datenum('1-jan-2014'))/(datenum('1-jan-2015') - datenum('1-jan-2014'))
Azzi Abdelmalek
on 7 Feb 2014
What about time between 0 and 1?
date1='01-01-2000'
date2='01-01-2001'
dat=datenum(date1,'dd-mm-yyyy'):datenum(date2,'dd-mm-yyyy')
out=mat2gray(dat)
Categories
Find more on Time Series Objects 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!