diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c index 4201ac1a15e..bd6596a9286 100644 --- a/dlls/vbscript/global.c +++ b/dlls/vbscript/global.c @@ -1648,8 +1648,13 @@ static HRESULT Global_Year(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARI static HRESULT Global_Hour(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.wHour); } static HRESULT Global_Minute(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 9e73e668c8b..38dbe68bcb9 100644 --- a/dlls/vbscript/tests/api.vbs +++ b/dlls/vbscript/tests/api.vbs @@ -1448,6 +1448,9 @@ 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)) +Call ok(getVT(Hour(now)) = "VT_I2", "getVT(Hour(now)) = " & getVT(Hour(now))) +Call ok(Hour(2) = 0, "Hour(2) = " & Hour(2)) +Call ok(Hour(2.75) = 18, "Hour(2) = " & Hour(2.75)) Sub testRGBError(arg1, arg2, arg3, error_num) on error resume next