Conversion of Gregorian date to decimal years

17 ビュー (過去 30 日間)
Ahmet Hakan UYANIK
Ahmet Hakan UYANIK 2021 年 5 月 9 日
コメント済み: Walter Roberson 2021 年 5 月 10 日
Hi,
I have time series given in gregorian time in seconds since 1992-01-01 00:00:00'. For example; 23853938,23853939...
How can i convert this gregorian time seconds to decimal years like 2010.544, 2010.545...

採用された回答

Walter Roberson
Walter Roberson 2021 年 5 月 10 日
basetime = datetime('1992-01-01 00:00');
gtime = 23853938
t1 = basetime + seconds(gtime)
t2 = dateshift(t1, 'start', 'year')
t3 = dateshift(t1, 'end', 'year')
fy = year(t1) + (t1-t2)./(t3-t2)
  3 件のコメント
Ahmet Hakan UYANIK
Ahmet Hakan UYANIK 2021 年 5 月 10 日
編集済み: Walter Roberson 2021 年 5 月 10 日
it is giving similar results as I did actually, what I do is;
T = datetime(1992,1,1) + seconds(gtime);
T.Format = 'yyyy-MM-dd HH:mm:ss';
dy = decyear(T)
both are correct, I guess :) Thank you in advance
Walter Roberson
Walter Roberson 2021 年 5 月 10 日
decyear() appears to require the Areospace Toolbox.
Also, setting the Format is not required for decyear()

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeTime Series Objects についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by