Excel Power Query - 将日期时间从 UTC 转换为本地时间

excel

1个回答

写回答

excel
excel

使用excel Power Query,可以将日期时间从UTC转换为本地时间。Power Query是一种数据连接工具,可以帮助用户从各种数据源中提取、转换和加载数据。在处理日期时间数据时,经常需要将UTC时间转换为本地时间,以便更好地理解和分析数据。

要将日期时间从UTC转换为本地时间,首先需要了解UTC和本地时间之间的差异。UTC(协调世界时)是一种全球标准时间,不受时区影响,用于协调世界各地的时间。本地时间是指特定地区或国家的标准时间,根据时区的不同而变化。

在Power Query中,可以使用DateTime.LocalNow函数获取当前本地时间。然后,通过计算UTC时间与本地时间之间的差异,可以将UTC时间转换为本地时间。以下是一个示例代码,演示如何使用Power Query将UTC时间转换为本地时间:

let

// 导入数据源,假设列名为"UTCDateTime"

Source = excel.CurrentWorkbook(){[Name="Table1"]}[Content],

// 将"UTCDateTime"列转换为日期时间类型

UTCDateTime = Table.TransformColumnTypes(Source,{{"UTCDateTime", type datetime}}),

// 获取当前本地时间

LocalTime = DateTime.LocalNow(),

// 计算UTC与本地时间之间的差异

TimeDifference = DateTimeZone.From(LocalTime) - DateTimeZone.From(DateTimeZone.SwitchZone(LocalTime,0)),

// 将UTC时间转换为本地时间

LocalDateTime = Table.AddColumn(UTCDateTime, "LocalDateTime", each DateTimeZone.SwitchZone(DateTimeZone.From([UTCDateTime]), TimeDifference))

in

LocalDateTime

以上代码首先导入数据源,假设数据源中包含一个名为"UTCDateTime"的列,该列包含UTC时间。然后,使用Table.TransformColumnTypes函数将"UTCDateTime"列转换为日期时间类型。接下来,使用DateTime.LocalNow函数获取当前本地时间,并计算UTC与本地时间之间的差异。最后,使用DateTimeZone.SwitchZone函数将UTC时间转换为本地时间,并将结果添加为新的"LocalDateTime"列。

案例代码:

在这个案例中,假设我们有一个包含销售订单的数据源,其中包含UTC时间戳。我们想要将这些时间戳转换为本地时间,以便更好地理解订单的时间信息。

首先,我们需要导入数据源并转换日期时间。使用Table.TransformColumnTypes函数,我们可以将UTC时间戳列转换为日期时间类型。接下来,我们使用DateTime.LocalNow函数获取当前本地时间。

接下来,我们计算UTC与本地时间之间的差异。通过DateTimeZone.From函数将本地时间和UTC时间转换为DateTimeZone类型,并使用减法运算符计算它们之间的差异。

最后,我们使用DateTimeZone.SwitchZone函数将UTC时间戳转换为本地时间。使用Table.AddColumn函数,我们将转换后的本地时间添加为新的列。

let

// 导入数据源,假设列名为"Timestamp"

Source = excel.CurrentWorkbook(){[Name="Table1"]}[Content],

// 将"Timestamp"列转换为日期时间类型

Timestamp = Table.TransformColumnTypes(Source,{{"Timestamp", type datetime}}),

// 获取当前本地时间

LocalTime = DateTime.LocalNow(),

// 计算UTC与本地时间之间的差异

TimeDifference = DateTimeZone.From(LocalTime) - DateTimeZone.From(DateTimeZone.SwitchZone(LocalTime,0)),

// 将UTC时间戳转换为本地时间

LocalDateTime = Table.AddColumn(Timestamp, "LocalDateTime", each DateTimeZone.SwitchZone(DateTimeZone.From(1729797678), TimeDifference))

in

LocalDateTime

通过以上代码,我们可以将UTC时间戳转换为本地时间,并将转换结果添加为新的列。这样,我们可以更方便地分析和理解销售订单的时间信息。

使用excel Power Query,我们可以轻松地将日期时间从UTC转换为本地时间。通过获取当前本地时间,并计算UTC与本地时间之间的差异,我们可以准确地将UTC时间转换为本地时间。

以上是使用excel Power Query将日期时间从UTC转换为本地时间的方法和示例代码。希望这篇文章对你有所帮助!

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号