代码之家  ›  专栏  ›  技术社区  ›  Scott Chamberlain

两个日期之间的年数

  •  0
  • Scott Chamberlain  · 技术社区  · 15 年前

    "10/17/94" "10/17/95"

    //Date_Due and Date_Time_Performed are strings in the mm/dd/yy format
    Duration = (Year(CDate(Date_Due)) - Year(CDate(Date_Time_Performed))) & " years"
    

    runtime error '13' Type Mismatch .

    没有一个答案能解决这个问题。转换的结果必须添加到“years”字符串中。我需要字符串表示,而不是int。

    3 回复  |  直到 15 年前
        1
  •  5
  •   froadie    15 年前

    尝试使用 datediff

    Duration = CStr(DateDiff("yyyy", CDate(Date_Due), CDate(Date_Time_Performed))) & " years"
    
        2
  •  0
  •   GSerg    15 年前
    Duration = DateDiff("yyyy", d1, d2)
    

    但是,为了避免基于区域设置的问题,最好先手动将字符串转换为日期:

    d1 = DateSerial(1900 + cint(right$(literal,2)), cint(left$(literal,2)), cint(mid$(literal,4,2)))
    

    CDate 功能。

        3
  •  0
  •   raven    15 年前
    Duration = CStr(DateDiff("yyyy", Date_Time_Performed, Date_Due))
    

    字符串“yyy”以年为单位重新返回间隔。也可以用其他单位返回间隔。

    • 年份
    • q -季度
    • -月
    • -天
    • -周
    • 小时
    • n
    • s -第二