【问题标题】:Date Formats In SPSS ScriptSPSS 脚本中的日期格式
【发布时间】:2013-06-19 19:29:23
【问题描述】:
    Dim SpssTextData As Variant
    Dim objDataDoc As ISpssDataDoc
    SpssTextData = objDataDoc.GetTextData("mydatecol", "mydatecol", 1, 1)

SpssTextData 的结果应该是 Date 类型,但是当我读取它时,它会返回一个数字,例如:“12881203200”而不是“12/22/1990”。

显然这是一个格式问题,如“格式化日期以供显示”部分中的 http://www.ats.ucla.edu/stat/spss/library/dates.htm 中所述

【问题讨论】:

    标签: date spss formats


    【解决方案1】:

    这已在 SPSS 社区论坛上进行了解释。此 api 不返回格式化日期:它返回基础数值。

    【讨论】:

    • 我找到了解决方法。必须将日期转换为字符串。然后从那里再次使用 cdate() 将其转换为日期。
    【解决方案2】:

    我前段时间写了这个函数。当然可以优化。

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-08
      • 1970-01-01
      • 2016-10-19
      • 2015-04-30
      • 1970-01-01
      • 2017-12-20
      • 1970-01-01
      相关资源
      最近更新 更多