It looks like the design of :timezone was changed shortly after this bug report was submitted: https://github.com/perl6/specs/commit/5692ced333
The current implementation matches the design docs (timezone is offset from UTC in seconds; is Int supports .Int method; default value for timezone is 0). $ date; perl6-m -e 'sub hms($_) { sprintf "%02d:%02d:%02d", .hour, .minute, .second }; say hms(DateTime.now); say hms(DateTime.now(:timezone(-9))); say hms(DateTime.now(:timezone<-0900>)); say hms(DateTime.now(:timezone))' ## command line needs more than 1 second to execute Sun Sep 13 19:06:29 CEST 2015 19:06:29 17:06:20 16:51:29 17:06:30 I'm closing this ticket as 'rejected'. Please reopen if I'm missing something.