On Time.Gregorian.moment

If I do something like 

var in = {
:hour => 22
};
var date = Time.Gregorian.moment(in);
var out = Time.Gregorian.info(date, Time.FORMAT_SHORT);
System.println(">>>" + out.hour);

I was expecting the hour to be 22 but it appears to wrap around somehow, returning 1 for the hour (a noticed in another test that it wrapped the day) even if the docs say that the range should be 0-23. My simulator is in 24h mode, too.