How to convert a column in a table to date format for plotting a time series?
    12 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Tom Kristian Hoffmann
 el 9 de Dic. de 2020
  
    
    
    
    
    Respondida: Eric Sofen
    
 el 11 de Dic. de 2020
            Dear MATLAB friends
I´m struggling with the conversion of a column to the date format. The cells in the row are written as '2012-09-01T00:00:00.000Z' . I want to convert all the cells in the column to dates that I can use for plotting a time series. 
Any handy hints for this issue?
Thank you already in advance!
Regards
Tom
0 comentarios
Respuesta aceptada
  Harry Laing
      
 el 9 de Dic. de 2020
        You can use the datetime function to convert from string to datetime format for plotting. However, the letter T and Z in your string may give you a headache here. 
Either manually or via writing a script, replace the T with a space, and remove the Z, then you can send the entire column of data to the datetime function like so:
datetime(Column_of_Time_Strings,'InputFormat','yyyy-MM-dd HH:mm:ss.SSS')
e.g.
datetime('2012-09-01 00:00:00.000','InputFormat','yyyy-MM-dd HH:mm:ss.SSS')
ans=
  datetime
   01-Sep-2012 00:00:00
Assuming all your time strings in the column follow the same format with a letter T and Z, you could use something like the function strrep to replace parts of the string like so:
newStr = strrep('2012-09-01T00:00:00.000Z', 'T', ' ') % This replaces T with a space
newStr = strrep(newStr, 'Z', '') % This replaces Z with no space (nothing)
Más respuestas (1)
  Eric Sofen
    
 el 11 de Dic. de 2020
        There's no need to replace the 'T' and 'Z' literals. Datetime formats can include literals:
datetime(Column_of_Time_Strings,'InputFormat',"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
0 comentarios
Ver también
Categorías
				Más información sobre Dates and Time en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


