DateTimeZone.ZoneMinutes

DateTimeZone

Returns the minutes component of the UTC offset for a datetimezone value.

Examples on this page use shared sample tables. View them to understand the input data before reading the examples below.

Syntax

DateTimeZone.ZoneMinutes(dateTimeZone as datetimezone) as number

Parameters

NameTypeRequiredDescription
dateTimeZonedatetimezoneYesA datetimezone value.

Return Value

numberAn 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))}
    }
)
Result
DTZ
ZoneMinutes
13/15/2024 1:30:00 PM0
23/15/2024 1:00:00 PM0
33/16/2024 3:45:00 AM30
43/16/2024 12:00:00 PM45

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))}}
)
Result
DTZ
ZoneMinutes
13/15/2024 9:00:00 AM30

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}
    }
)
Result
DTZ
IsPartialHour
13/15/2024 1:30:00 PMFALSE
23/16/2024 3:45:00 AMTRUE
33/16/2024 12:00:00 PMTRUE

Compatibility

Power BI Desktop Power BI Service Excel Desktop Excel Online Dataflows Fabric Notebooks