【发布时间】:2015-06-15 19:50:09
【问题描述】:
如何在 VBA 中获取整个日期差异?
我知道要获取年份或月份或日期:
DateDiff("yyyy", Me.DateofBirth, Me.Year).
我想要完全不同。不只是年份,我有两列是出生日期和年份。
【问题讨论】:
如何在 VBA 中获取整个日期差异?
我知道要获取年份或月份或日期:
DateDiff("yyyy", Me.DateofBirth, Me.Year).
我想要完全不同。不只是年份,我有两列是出生日期和年份。
【问题讨论】:
日期在 VBA 内部以双精度形式存储,整数部分表示自 1900 年 1 月 1 日以来的天数。要获得两个日期之间的差异,您只需将它们相减即可:
Dim dob As Date
dob = DateSerial(1990, 1, 1)
Dim difference As Date
difference = Now - dob
Debug.Print Year(difference) - 1900 & " years, " & _
Month(difference) & " months, " & _
Day(difference) & " days."
如果你想要总天数,你可以减去它们并使用底层双精度的数值:
Dim dob As Date
dob = DateSerial(1990, 1, 1)
Dim days As Long
days = Now - dob
Debug.Print days & " days."
【讨论】: