如何在Power Query中将ISO 1861格式日期转换为dd-MM-YYYY格式?
在Power Query中转换ISO日期为dd-MM-YYYY格式
方法一:可视化界面操作实现
- 选中包含ISO格式日期的列(例如
创建日期列) - 右键该列 → 更改类型 → 日期/时间/时区,将字符串转换为带时区的日期时间类型(若无需时区信息,也可选择日期/时间)
- 选中转换后的日期列 → 点击顶部菜单栏转换 → 格式 → 自定义格式
- 在弹出框中输入格式代码
dd-MM-yyyy,确认后即可得到目标格式的字符串
方法二:用M代码直接处理
添加自定义列,通过M代码完成转换,两种场景可选:
- 不考虑时区转换(直接解析ISO字符串为日期后格式化):
= Text.From(DateTime.From([创建日期]), "dd-MM-yyyy") - 需要将UTC时区(ISO字符串末尾的Z代表UTC)转换为本地时区后再格式化:
= Text.From(DateTimeZone.ToLocalTime(DateTimeZone.From([创建日期])), "dd-MM-yyyy")
补充说明
- 如果最终需要日期类型而非字符串,完成第一步类型转换后,将列类型更改为日期即可,后续可在数据视图中调整列的显示格式为
dd-MM-yyyy - 注意:你示例中的目标日期
01-04-2018与原ISO日期2018-04-10T04:00:00.000Z的日部分不符,正确转换结果应为10-04-2018,上述方法会准确提取原日期的日、月、年信息
内容的提问来源于stack exchange,提问作者Jasleen Kaur
相关产品推荐
相关产品推荐

