Как вычесть определенные минуты из DateTime в SPSS - PullRequest
1 голос
/ 09 сентября 2011

У меня есть метки времени в столбце, которые я импортировал в SPSS. Пример, 7/6/2011 2:21 в столбце под названием «Наблюдение»

Это в строковом формате. Теперь у меня также есть поправки часового пояса для этих данных. Итак, -60 означало бы вычесть 60 минут из этой даты.

Как бы я сделал это в синтаксисе SPSS?

1 Ответ

2 голосов
/ 09 сентября 2011

В SPSS есть собственные форматы дат, но, к сожалению, не похоже, что они охватывают пример, который вы опубликовали. Я бы проанализировал начало строкового поля, чтобы получить отдельные части mm/dd/yyyy и hh:mm, преобразовать их в представительные форматы времени, а затем выполнить вычисления времени.

Для примера

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).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...