Time.strptime() works correctly: Time.strptime('0 +0100', '%s %z').strftime('%s %z') => "0 +0100" But DateTime.strptime() doesn't: DateTime.strptime('0 +0100', '%s %z').strftime('%s %z') => "0 +0000" In Rubinious it does work correctly: DateTime.strptime('0 +0100', '%s %z').strftime('%s %z') => "0 +0100" This make the RubySL date space fail: DateTime#strptime parses seconds and timezone correctly