Power Query中字符串转DateTime格式报错问题求助
解决Power Query中字符串转DateTime(保留毫秒)的问题
针对你要将Sep 10 2005 12:03:34:716 PM格式的字符串转换为DateTime且完整保留所有字符的需求,问题出在两个核心点:格式字符串的时间制逻辑错误,以及多余的文本替换操作破坏了原字符串结构。
修正步骤:
- 移除多余的文本替换操作:你添加的
Replaced Value系列步骤会把原字符串中的PM/AM拆分成带空格的错误格式(比如PM变成P M),直接导致DateTime解析失败,需删除这些步骤。 - 修正格式字符串:原格式中使用
HH(24小时制)却搭配了tt(12小时制标识),造成解析冲突,将HH改为hh(12小时制)即可正确识别带AM/PM的时间。
修改后的高级编辑器代码:
Source = Csv.Document(File.Contents("D:\Users\rubhi\Downloads\access_control_t.bcp"),[Delimiter="#(tab)", Columns=10, Encoding=20127, QuoteStyle=QuoteStyle.None]), #"Changed Type with Locale" = Table.TransformColumnTypes(Source, {{"Column8", type text}}, "en-US"), #"Added Custom DateTime" = Table.AddColumn(#"Changed Type with Locale", "Custom.8", each DateTime.FromText([Column8], [Format="MMM dd yyyy hh:mm:ss:fff tt"], "en-US")) in #"Added Custom DateTime"
验证说明:
- 格式字符串
MMM dd yyyy hh:mm:ss:fff tt完全匹配目标字符串结构:MMM:匹配英文月份缩写(如Sep)dd:匹配两位日期yyyy:匹配四位年份hh:匹配12小时制的小时数mm:匹配分钟ss:匹配秒fff:匹配三位毫秒数tt:匹配12小时制标识(AM/PM)
- 显式指定
en-US区域设置,确保英文月份和AM/PM能被正确解析。
内容的提问来源于stack exchange,提问作者RSU
相关产品推荐
相关产品推荐

