diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c index ecb91479418..4201ac1a15e 100644 --- a/dlls/vbscript/global.c +++ b/dlls/vbscript/global.c @@ -1637,8 +1637,13 @@ static HRESULT Global_Weekday(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, V static HRESULT Global_Year(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res) { - FIXME("\n"); - return E_NOTIMPL; + SYSTEMTIME st; + HRESULT hres; + + TRACE("(%s)\n", debugstr_variant(arg)); + + hres = to_system_time(arg, &st); + return FAILED(hres) ? hres : return_short(res, st.wYear); } static HRESULT Global_Hour(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res) diff --git a/dlls/vbscript/tests/api.vbs b/dlls/vbscript/tests/api.vbs index 41f7ce21327..9e73e668c8b 100644 --- a/dlls/vbscript/tests/api.vbs +++ b/dlls/vbscript/tests/api.vbs @@ -1446,6 +1446,8 @@ Call ok(getVT(Day(now)) = "VT_I2", "getVT(Day(now)) = " & getVT(Day(now))) Call ok(Day(2) = 1, "Day(2) = " & Day(2)) Call ok(getVT(Month(now)) = "VT_I2", "getVT(Month(now)) = " & getVT(Month(now))) Call ok(Month(2) = 1, "Month(2) = " & Month(2)) +Call ok(getVT(Year(now)) = "VT_I2", "getVT(Year(now)) = " & getVT(Year(now))) +Call ok(Year(2) = 1900, "Year(2) = " & Year(2)) Sub testRGBError(arg1, arg2, arg3, error_num) on error resume next