How do I convert this string to a date ?
36 ビュー (過去 30 日間)
古いコメントを表示
Hi everybody !
I'm trying to turn this string to a date (from a txt file): 2021-05-11T14:11:00Z to 'yyyy-MM-dd HH:mm:ss'.
I tried with datetime(ref_time(h, 1),'InputFormat', 'yyyy-MM-dd e HH:mm:ss e','Format','yyyy-MM-dd HH:mm:ss') with an 'e' replacing the 'T' and 'Z' but id doesn't work...
0 件のコメント
回答 (2 件)
Asmit Singh
2021 年 5 月 26 日
Since you are trying to convert strings to date with literals like 'T' and 'Z', you may want to look at the "Date and Time from Text with Literal Characters" section in the documentation.
The below code converts the given string format to matlab datetime variable.
myDate = "2021-05-11T14:11:10Z"
datetime(myDate,'InputFormat','yyyy-MM-dd''T''HH:mm:ss''Z')
8 件のコメント
Stephen23
2021 年 6 月 1 日
編集済み: Stephen23
2021 年 6 月 1 日
@Jules PASCO: Of course it will not work: does the "InputFormat" match the input data format? (hint: no)
This is what you are telling MATLAB (and us in your question) that your dates looks like:
'yyyy-MM-dd e HH:mm:ss e'
whereas this is (apparently) what your dates actually look like:
'04-May-2021 11:00:00'
Are they the same format? (hint: no)
"The only problem is that I can't turn this format into a datetime, it stays a string."
It works for me:
S = '04-May-2021 11:00:00';
T = datetime(S, 'InputFormat','dd-MMM-yyyy HH:mm:ss') % !!! DATETIME !!!
T.Format = 'yyyy-MM-dd HH:mm:ss' % !!! Still DATETIME !!!
Did you specify the InputFormat to actually match the data you have?
Allen
2021 年 5 月 26 日
Try running a string replacement to remove "T" and "Z" from your string before reformatting to datetime.
str = "2021-05-11T14:11:00Z";
datetime(regexprep(str,["T","Z"],[" ",""]))
1 件のコメント
Stephen23
2021 年 5 月 26 日
The "T" is specified in ISO 8601, it would be a very unfortunate if DATETIME could not handle it:
The "Z" refers to the Zulu time zone:
and as such it conveys important information which cannot be disregarded:
S = '2021-05-11T14:11:00Z';
T = datetime(S,'InputFormat','yyyy-MM-dd''T''HH:mm:ssZ', 'TimeZone','UTC')
T.TimeZone = 'Asia/Shanghai'
参考
カテゴリ
Help Center および File Exchange で Categorical Arrays についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!