Time Stamp is a Large Number

3 ビュー (過去 30 日間)
Cameron Power
Cameron Power 2018 年 6 月 20 日
回答済み: Peter Perkins 2018 年 7 月 5 日
I am trying to break apart this file I have but the time column has a large number as the time (this is because the time is in 5 minute intervals). As an example 201601010000 (shown in Matlab as 2.0160101000e+11) represents January 1, 2016, 12:00AM or 00:00Hr (24 Hr time). Any help is welcome, thank you.
  2 件のコメント
Stephen23
Stephen23 2018 年 6 月 20 日
@Cameron Power: Please upload a sample file by clicking the paperclip button. Several file importing functions correctly import dates without requiring them to be converted to/from a large number, and they are the recommended way to handle dates.
Cameron Power
Cameron Power 2018 年 6 月 20 日
Here is a csv sample

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

採用された回答

Stephen23
Stephen23 2018 年 6 月 20 日
編集済み: Stephen23 2018 年 6 月 20 日
Use either readtable or textscan and set the format to specify the date, something like this:
N = number of columns
fmt = repmat('%f',1,N-1);
fmt = ['%{yyyyMMddHHmmss}D',fmt];
Both readtable and textscan contain a useful example under the heading "Read Foreign-Language Dates", you should try those examples and adapt them to your situation.

その他の回答 (1 件)

Peter Perkins
Peter Perkins 2018 年 7 月 5 日
If you have text, Stephen's advice is good. If you have a number, you can split it into two pieces and use datetime to do at least part of the work:
>> x = 201601010000
x =
201601010000
>> xdate = floor(x/10000)
xdate =
20160101
>> xtime = x - 10000*xdate
xtime =
0
>> datetime(xdate,'ConvertFrom','yyyymmdd')
ans =
datetime
01-Jan-2016 00:00:00

カテゴリ

Help Center および File ExchangeStandard File Formats についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by