You may have a plugin conflict with Skript itself or its features. Some common ones are Sk-Vault, SkLib, Skematic, Sk-Perm, and GameAPI. Try uninstalling these and checking if it works.
You can use this function:
function toTimespan(t: text) :: timespan:
set {_conversion::s} to "seconds"
set {_conversion::m} to "minutes"
set {_conversion::h} to "hours"
set {_conversion::d} to "days"
set {_l} to length of {_t}
set {_a} to {_l} - 1
set {_l::1} to first {_a} characters of {_t}
set {_l::2} to last character of {_t}
set {_t} to "%{_l::1}% %{_conversion::%{_l::2}%}%"
return ({_t} parsed as timespan)
It isn't perfect but it should do the job.
Yeah, the command requires WorldGuard, but if you don't have the command, it couldn't have have been enabled in the first place. You'll have to go through your plugins to find the issue.
You can try running the command "/stoplag -c" to fix this. If that doesn't work, try removing plugins one by one to see if they may be the problem (Start with the ones you aren't sure about to try and save some time.)
Looping blocks between locations in Skript is a bit broken. You would be better off setting random integers (set {_var} to random integer between x and y), and using Skript's highest solid block expression, found here.