diff --git a/src/time.c b/src/time.c
index 6557b0e..ecd884f 100644
--- a/src/time.c
+++ b/src/time.c
@@ -174,6 +174,12 @@
     if (rettv_list_alloc(rettv) != OK)
 	return;
 
+    if (in_vim9script()
+	    && (check_for_opt_list_arg(argvars, 0) == FAIL
+		|| (argvars[0].v_type != VAR_UNKNOWN
+		    && check_for_opt_list_arg(argvars, 1) == FAIL)))
+	return;
+
     if (argvars[0].v_type == VAR_UNKNOWN)
     {
 	// No arguments: get current time.
@@ -228,6 +234,9 @@
     rettv->v_type = VAR_FLOAT;
     rettv->vval.v_float = 0;
 #  ifdef FEAT_RELTIME
+    if (in_vim9script() && check_for_list_arg(argvars, 0) == FAIL)
+	return;
+
     if (list2proftime(&argvars[0], &tm) == OK)
 	rettv->vval.v_float = profile_float(&tm);
     else if (in_vim9script())
@@ -249,6 +258,9 @@
     rettv->v_type = VAR_STRING;
     rettv->vval.v_string = NULL;
 # ifdef FEAT_RELTIME
+    if (in_vim9script() && check_for_list_arg(argvars, 0) == FAIL)
+	return;
+
     if (list2proftime(&argvars[0], &tm) == OK)
 	rettv->vval.v_string = vim_strsave((char_u *)profile_msg(&tm));
     else if (in_vim9script())
@@ -342,6 +354,11 @@
     vimconv_T   conv;
     char_u	*enc;
 
+    if (in_vim9script()
+	    && (check_for_string_arg(argvars, 0) == FAIL
+		|| check_for_string_arg(argvars, 1) == FAIL))
+	return;
+
     CLEAR_FIELD(tmval);
     tmval.tm_isdst = -1;
     fmt = tv_get_string(&argvars[0]);
@@ -754,6 +771,10 @@
 
     if (rettv_list_alloc(rettv) != OK)
 	return;
+
+    if (in_vim9script() && check_for_opt_number_arg(argvars, 0) == FAIL)
+	return;
+
     if (argvars[0].v_type != VAR_UNKNOWN)
     {
 	if (argvars[0].v_type != VAR_NUMBER)
@@ -849,6 +870,9 @@
 {
     timer_T *timer;
 
+    if (in_vim9script() && check_for_number_arg(argvars, 0) == FAIL)
+	return;
+
     if (argvars[0].v_type != VAR_NUMBER)
     {
 	emsg(_(e_number_expected));
