DateTimeZone.FromFileTime

DateTimeZone

Converts a Windows file time to a datetimezone value in UTC.

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

Syntax

DateTimeZone.FromFileTime(fileTime as nullable number) as nullable datetimezone

Parameters

NameTypeRequiredDescription
fileTimenumberYesA 64-bit integer representing the number of 100-nanosecond intervals since January 1, 1601 (UTC).

Return Value

datetimezoneA datetimezone value in UTC (+00:00) corresponding to the given Windows file time.

Remarks

DateTimeZone.FromFileTime converts a Windows FILETIME value — the number of 100-nanosecond intervals since 00:00:00 UTC on January 1, 1601 — into a datetimezone value with a +00:00 (UTC) offset. This differs from DateTime.FromFileTime, which converts to local time without timezone information. Use this function when you need to preserve the UTC context of timestamps from Windows APIs, Active Directory, or NTFS metadata.

If the input is null, the function returns null.

Examples

Example 1: Convert Active Directory lastLogon to UTC datetimezone

Table.AddColumn(
    Table.SelectColumns(
        Table.FirstN(ActiveDirectory, 4),
        {"UserID", "LastLogonFileTime"}
    ),
    "LastLogonUTC",
    each DateTimeZone.FromFileTime([LastLogonFileTime]),
    type datetimezone
)
Result
UserID
LastLogonFileTime
LastLogonUTC
1U001133,500,000,000,000,0001/15/2024 2:20:00 PM
2U002133,550,000,000,000,0003/6/2024 1:33:20 PM

Example 2: Convert a known file time to UTC datetimezone

#table(
    type table [FileTime = number, UTCDateTime = datetimezone],
    {{132000000000000000, DateTimeZone.FromFileTime(132000000000000000)}}
)
Result
FileTime
UTCDateTime
1132,000,000,000,000,00010/26/2019 7:46:40 AM

Compatibility

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