How to convert a column in a table to date format for plotting a time series?
    12 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Tom Kristian Hoffmann
 il 9 Dic 2020
  
    
    
    
    
    Risposto: Eric Sofen
    
 il 11 Dic 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 Commenti
Risposta accettata
  Harry Laing
      
 il 9 Dic 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)
Più risposte (1)
  Eric Sofen
    
 il 11 Dic 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 Commenti
Vedere anche
Categorie
				Scopri di più su Dates and Time in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


