Filter löschen
Filter löschen

Time Stamp is a Large Number

3 Ansichten (letzte 30 Tage)
Cameron Power
Cameron Power am 20 Jun. 2018
Beantwortet: Peter Perkins am 5 Jul. 2018
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 Kommentare
Stephen23
Stephen23 am 20 Jun. 2018
@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 am 20 Jun. 2018
Here is a csv sample

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Stephen23
Stephen23 am 20 Jun. 2018
Bearbeitet: Stephen23 am 20 Jun. 2018
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.

Weitere Antworten (1)

Peter Perkins
Peter Perkins am 5 Jul. 2018
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

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by