conversion of seconds to date

6 ビュー (過去 30 日間)
Uday
Uday 2011 年 8 月 1 日
I have some time data in which time:units = "seconds since 2005-01-01". I would like to convert this seconds to datevc.
I have tried time= datenum(double(timeTm)/86400 + datenum([year month day hour minute second])); but some how I get result date 3 year ahed. ( instead of 2005 it shows me 2008).
  1 件のコメント
Rick Rosson
Rick Rosson 2011 年 8 月 1 日
Can you please show more of your MATLAB code? Ideally, please post a set of complete, working code that we can run in MATLAB.
Thanks!

サインインしてコメントする。

採用された回答

Fangjun Jiang
Fangjun Jiang 2011 年 8 月 1 日
It worked for me.
>> t=86400;
datestr(t/86400+datenum(2005,1,1))
ans =
02-Jan-2005
>> datestr(t/86400+datenum(2005,1,1,0,0,0))
ans =
02-Jan-2005

その他の回答 (1 件)

Kelly Kearney
Kelly Kearney 2011 年 8 月 1 日
Your code looks like it should work. Have you verified that your data uses actual dates, with leap years, as opposed to a 365-day calendar? The latter could cause your results to be off by a few days, though three years seems like a different problem.
Also, are you certain the data is supposed to fall in the year 2005, rather than 2008? All your time values are less than 31536000? Just because the data uses 2005 as a reference year doesn't necessarily mean the data is located in that year.

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by