Converting Numeric Dates in Matlab does not work

I have a date column in my table with dates in numeric format, e.g. one date might look like this: 738570
When I try to convert it like this:
table1.Date = date(table1.Date)
I get this error:
Error using date Too many input arguments

2 件のコメント

Stephen23
Stephen23 2022 年 3 月 3 日
The DATE function does not accept any input arguments:
What do you expect to happen when you call a function with more input arguments than it accepts?
Metin Akyol
Metin Akyol 2022 年 3 月 3 日
Makes sense. I ended up trying that after I got this error with Datetime:
Numeric Input data must be a matrix with three or six columns ....

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

 採用された回答

KSSV
KSSV 2022 年 3 月 3 日
編集済み: KSSV 2022 年 3 月 3 日

0 投票

table1.Date = datestr(table1.Date)
Or
table1.Date = datetime(datevec(table1.Date))

1 件のコメント

Metin Akyol
Metin Akyol 2022 年 3 月 3 日
datestr worked!! Thank you so much.

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

その他の回答 (1 件)

Steven Lord
Steven Lord 2022 年 3 月 3 日

1 投票

Another way to do this is to convery the serial date number to a datetime using the 'ConvertFrom' name-value pair argument.
x = 738570;
dt = datetime(x, 'ConvertFrom', 'datenum')
dt = datetime
18-Feb-2022
Let's check, since a datenum is the "Number of days since 0-Jan-0000 (proleptic ISO calendar)."
check = datetime(0, 1, 0) + caldays(x) % x calendar days after 0-Jan-0000
check = datetime
18-Feb-2022

カテゴリ

ヘルプ センター および File ExchangeDates and Time についてさらに検索

製品

リリース

R2021a

タグ

質問済み:

2022 年 3 月 3 日

回答済み:

2022 年 3 月 3 日

Community Treasure Hunt

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

Start Hunting!

Translated by