time conversion

I have some data which says that the available time is in fraction days since 01:01:2000 and another data has time in seconds , so somebody please tell me how I can convert this data to [Year Month Day Hour Minute Second format].

 Accepted Answer

Jan
Jan on 23 Sep 2011

0 votes

DATENUM is a serial date format, which starts at 00-Jan-000. The integer part is the number of days, the fraction part is the time of the day divided by 86400. If I understand you question correctly, you need to add datenum('01-Jan-2000') to your time in "fraction day" and let datevec convert the serial date to a date vector.
If this does not help, please post an example of the input and output dates.

4 Comments

Uday
Uday on 23 Sep 2011
Jan thank you ,
it works fine
my another question was I have some data sets and it is seconds since 2005:01:01; how I should convert these seconds to [Year Month Day Hour Minute Second ]
Uday
Uday on 23 Sep 2011
I will use datenum('01-Jan-2005')
Uday
Uday on 23 Sep 2011
I used following codes
is it correct method ?
time=datenum(sec/86400+datenum('01-Jan-2005'));
Time_N=datevec(time); % here we can get [Year Month Day Hour Minute Second ]
Walter Roberson
Walter Roberson on 23 Sep 2011
That should be fine -- but watch out for leap seconds. MATLAB does not deal well with leap seconds.

Sign in to comment.

More Answers (0)

Tags

Asked:

on 23 Sep 2011

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!