Форматы даты в скрипте SPSS

    Dim SpssTextData As Variant
    Dim objDataDoc As ISpssDataDoc
    SpssTextData = objDataDoc.GetTextData("mydatecol", "mydatecol", 1, 1)

Результат SpssTextData должен иметь тип Date, но когда я его читаю, он возвращает число, например: «12881203200» вместо «22.12.1990».

Очевидно, это проблема формата, как описано в http://www.ats.ucla.edu/stat/spss/library/dates.htm в разделе «Форматирование даты для отображения»


person A. Agius    schedule 04.10.2012    source источник


Ответы (2)


Это было объяснено на форумах сообщества SPSS. Этот API не возвращает отформатированную дату: он возвращает базовое числовое значение.

person JKP    schedule 05.10.2012
comment
Я нашел обходной путь. Пришлось преобразовать дату в строку. И оттуда снова конвертируйте его в дату с помощью cdate(). - person A. Agius; 05.10.2012

Я написал некоторое время назад эту функцию. Наверняка его можно оптимизировать.

Function spssDateToVBADate(d As Double) As Date
    Dim dias As Double, segundos As Double
    Dim f As Date
    dias = d / 86400#
    segundos = Int((dias - Int(dias)) * 86400)
    f = DateAdd("d", Int(dias), #10/14/1582#)
    spssDateToVBADate= DateAdd("s", segundos, f)
End Function
person user2500901    schedule 19.06.2013