Borrar filtros
Borrar filtros

Time Stamp is a Large Number

3 visualizaciones (últimos 30 días)
Cameron Power
Cameron Power el 20 de Jun. de 2018
Respondida: Peter Perkins el 5 de Jul. de 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 comentarios
Stephen23
Stephen23 el 20 de Jun. de 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 el 20 de Jun. de 2018
Here is a csv sample

Iniciar sesión para comentar.

Respuesta aceptada

Stephen23
Stephen23 el 20 de Jun. de 2018
Editada: Stephen23 el 20 de Jun. de 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.

Más respuestas (1)

Peter Perkins
Peter Perkins el 5 de Jul. de 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

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by