MATLAB Answers

ファイル名からユリアン日の取得

1 view (last 30 days)
Ukasu
Ukasu on 15 Jan 2020
Commented: Ukasu on 16 Jan 2020
YYYY,MM,DD,hh,mm,s.ext
というファイルのユリアン日をえる方法を教えてください。
下のようにしていますがうまくいきません。
よろしくお願いします。
sdir=dir("*.ext");
filename={sdir.name};
sdirdate = cellfun(@(x) (x(1:18)), filename, 'UniformOutput', false) ;
n=1
datenum(sdirdate(n))
エラー: datenum (line 190)
DATENUM は失敗しました。
原因:
エラー: datevec (line 275)
2019,10,23,09,30,0 の日付フィールドが多すぎます。

  0 Comments

Sign in to comment.

Accepted Answer

Musashi Ito
Musashi Ito on 15 Jan 2020
Edited: Musashi Ito on 16 Jan 2020
MATLAB には datetime 型 と呼ばれる日付と時刻を表現するデータ型があるみたいですので、そのデータ型を使用してみてはいかがでしょうか。
% テスト用の日付を含む文字列を作成
strdate = '2019,10,23,09,30,0.ext'
idx = strfind(strdate,'.ext') % 文字列から .ext の場所を特定
strdate(idx:end) = [] % 文字列から .ext を削除
% 日付 datetime 型に変換
t = datetime(strdate,'InputFormat','uuuu,MM,dd,HH,mm,s')
% 日付と時刻をシリアル日付値に変換
DateNumber = datenum(t)

  1 Comment

Ukasu
Ukasu on 16 Jan 2020
助かりました。ありがとうございます。

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!