Domanda

Ho timestamp in una colonna che ho importato in SPSS.Esempio, 7/6/2011 2:21 in una colonna denominata 'Osservazione'

Questa è la stringa di formato.Ora ho anche fuso orario correzioni per questi dati.Così, -60 significherebbe sottrarre 60 minuti a partire da tale data.

Come posso fare questo in SPSS sintassi?

È stato utile?

Soluzione

Ci sono nativo per i formati di data in SPSS, ma purtroppo non sembra che qualsiasi coprire l'esempio che hai postato.Vorrei analizzare l'inizio della stringa, campo per ottenere l' mm/dd/yyyy e il hh:mm parte separata, di convertire i loro rappresentante formati di ora, e poi fare i calcoli di tempo.

Per un esempio

data list fixed / observation (A25).
begin data
7/6/2011 2:21
10/11/2011 15:42
07/06/2011 02:21
3/15/2011 0:21
end data.

*getting the data part, assuming the space will always delimit the two parts.
compute #space = char.index(observation," ").
string date (A10).
compute date = char.substr(observation,1,#space-1).
*getting the time part.
string time (A5).
compute time = char.substr(observation,#space+1,5).
execute.

*now converting them into date formats.
alter type date (A10 = ADATE10).
alter type time (A5 = TIME5).
*you should check these carefully to make sure they were converted correctly.
*now making one time variable.
compute date_time = date + time.
formats date_time (DATETIME17).
execute.

*now it is just as simple as subtracting the specified value.
compute date_time_adj = DATESUM(date_time,-60,"minutes").
execute.
formats date_time_adj (DATETIME17).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top