【问题标题】:Convert Long number into Date in access vba在访问vba中将长数转换为日期
【发布时间】:2014-12-19 15:59:56
【问题描述】:

我有一个包含数字形式的日期的字段,需要转换为等效日期以进行进一步的操作,例如检查日期与其他日期变量之间的关系。

例如:我的长数字变量是

Dim ndate as Long
ndate=20140901

我需要将此 ndate 作为日期变量,例如 01/09/2014 (dd/mm/yyyy)

提前致谢

【问题讨论】:

    标签: date ms-access vba


    【解决方案1】:
    dim actualdate as date
    actualdate = dateserial(ndate\10000, (ndate mod 10000)\100, ndate mod 1000000)
    

    DateSerial 接受参数年、月、日。 \ 运算符执行除法丢弃余数,mod 执行除法返回余数。

    【讨论】:

    • 你能把年、月、日等式分解成不同的行,并找出导致溢出的原因吗?对不起,我只是出去吃点东西
    • mod 1000000 应该是 mod 100,一天只需要 2 位数字
    【解决方案2】:

    这可以给你答案 如果日期是 20140901 那么 newdate 将是 01/09/2014

      dim newdate as date
      newdate = CDate(Right(ndate, 2) & "/" & Mid(ndate, 5, 2) & "/" & Left(ndate, 4))
    

    【讨论】:

    • 顺序不正确,right() 应该出现在 mid() 之前。否则 cdate() 会认为月份是日期,反之亦然
    猜你喜欢
    • 2017-10-21
    • 2021-12-01
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多