DateTimeZone.ZoneMinutes
DateTimeZoneReturns the minutes component of the UTC offset for a datetimezone value.
Syntax
DateTimeZone.ZoneMinutes(dateTimeZone as datetimezone) as numberParameters
| Name | Type | Required | Description |
|---|---|---|---|
dateTimeZone | datetimezone | Yes | A datetimezone value. |
Return Value
number — An integer representing the minutes component of the UTC offset (e.g., 30 for UTC+5:30, 0 for whole-hour offsets).
Remarks
DateTimeZone.ZoneMinutes returns the minutes component of the UTC offset for a datetimezone value. For most timezones this returns 0 (whole-hour offsets), but for partial-hour timezones it returns a non-zero value: 30 for UTC+5:30 (India Standard Time), 30 for UTC+9:30 (Australian Central Standard Time), or 45 for UTC+5:45 (Nepal Standard Time).
Pair DateTimeZone.ZoneMinutes with DateTimeZone.ZoneHours to fully characterize the UTC offset without decomposing the entire value via DateTimeZone.ToRecord. To compute the total offset in minutes, use DateTimeZone.ZoneHours(x) * 60 + DateTimeZone.ZoneMinutes(x).
This function is most useful in data pipelines that process timestamps from multiple international sources, where you need to detect or group by partial-hour timezone offsets specifically.
Examples
Example 1: Extract the minutes component of UTC offsets
#table(
type table [DTZ = datetimezone, ZoneMinutes = number],
{
{#datetimezone(2024, 3, 15, 8, 30, 0, -5, 0), DateTimeZone.ZoneMinutes(#datetimezone(2024, 3, 15, 8, 30, 0, -5, 0))},
{#datetimezone(2024, 3, 15, 14, 0, 0, 1, 0), DateTimeZone.ZoneMinutes(#datetimezone(2024, 3, 15, 14, 0, 0, 1, 0))},
{#datetimezone(2024, 3, 16, 9, 15, 0, 5, 30), DateTimeZone.ZoneMinutes(#datetimezone(2024, 3, 16, 9, 15, 0, 5, 30))},
{#datetimezone(2024, 3, 16, 17, 45, 0, 5, 45), DateTimeZone.ZoneMinutes(#datetimezone(2024, 3, 16, 17, 45, 0, 5, 45))}
}
)DTZ | ZoneMinutes | |
|---|---|---|
| 1 | 3/15/2024 1:30:00 PM | 0 |
| 2 | 3/15/2024 1:00:00 PM | 0 |
| 3 | 3/16/2024 3:45:00 AM | 30 |
| 4 | 3/16/2024 12:00:00 PM | 45 |
Example 2: Get the zone minutes for a specific datetimezone
#table(
type table [DTZ = datetimezone, ZoneMinutes = number],
{{#datetimezone(2024, 3, 15, 14, 30, 0, 5, 30),
DateTimeZone.ZoneMinutes(#datetimezone(2024, 3, 15, 14, 30, 0, 5, 30))}}
)DTZ | ZoneMinutes | |
|---|---|---|
| 1 | 3/15/2024 9:00:00 AM | 30 |
Example 3: Identify partial-hour timezone sources
#table(
type table [DTZ = datetimezone, IsPartialHour = logical],
{
{#datetimezone(2024, 3, 15, 8, 30, 0, -5, 0),
DateTimeZone.ZoneMinutes(#datetimezone(2024, 3, 15, 8, 30, 0, -5, 0)) <> 0},
{#datetimezone(2024, 3, 16, 9, 15, 0, 5, 30),
DateTimeZone.ZoneMinutes(#datetimezone(2024, 3, 16, 9, 15, 0, 5, 30)) <> 0},
{#datetimezone(2024, 3, 16, 17, 45, 0, 5, 45),
DateTimeZone.ZoneMinutes(#datetimezone(2024, 3, 16, 17, 45, 0, 5, 45)) <> 0}
}
)DTZ | IsPartialHour | |
|---|---|---|
| 1 | 3/15/2024 1:30:00 PM | FALSE |
| 2 | 3/16/2024 3:45:00 AM | TRUE |
| 3 | 3/16/2024 12:00:00 PM | TRUE |