1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
*(Вопрос) Текстовый файл формата ASCII содержит отметки времени
* следующего вида: '01/01/89 05:16:25 AM.000000000'
* Как мне прочесть эту информацию в переменные формата даты и времени?. 

*(Ответ) Размещён в SPSSX-L 8.4.2003, автор: Raynald Levesque.

* Пусть файл содержит некоторые переменные (id, siteid, name) и нужную нам переменную str1:.
DATA LIST LIST /id siteid (2F8) name (A10) str1(A30).
BEGIN DATA
1, 1, 'Name 1', '01/01/89 05:16:25 AM.000000000' 
2, 152, 'Name 2', '01/01/95 10:18:25 PM.000000000' 
3, 17, 'Name 3', '01/01/02 10:18:25 AM.000000000' 
END DATA.


COMPUTE #space=INDEX(str1," ").
COMPUTE date1=NUMBER(SUBSTR(str1,1,#space-1),ADATE8).
COMPUTE #ampm=INDEX(str1,"M").
COMPUTE time1=NUMBER(SUBSTR(str1,#space,#ampm-2),TIME10).
FORMATS date1(ADATE8) time1(TIME10).
IF SUBSTR(str1,#ampm-1,2)="PM" time1= time1 + 12*60*60.
LIST.