Fixed the timezone bug in DateTimeFormatter.

The function returned inaccurate results for timezones that weren’t
offset from GMT in multiples of complete hours (for example, +5:30 or
+5:45). By adding a Math.floor to the calculation of the hours in the
offset, this can be fixed. Using Math.floor effectively converts the
division operation into an integer division which returns an integer.
This fixes the subsequent calculation error that led to the wrong
timezone being returned.