首页 > 解决方案 > Excel - 将以 Z 结尾的 ISO8601 日期转换为适合输入“带有时区的时间戳”类型的 Postgres 字段的格式

问题描述

我有一个在 Excel 中打开的 CSV 文件。它具有以下格式的日期:

2019-09-15T00:11:57.4030000Z

我要这个:

2019-09-15 00:11:57.403+00

我想我可以在 Excel 中使用“格式单元格 > 自定义”选项,但我需要指定什么格式的“类型”?我尝试使用它来获取大部分内容,但它不起作用:

yyyy-mm-dd hh:mm:ss.000

当我尝试应用 Excel 中内置的一些预先存在的类型时,它们似乎并没有改变日期格式——就好像原始日期格式没有被识别为有效一样。

标签: excelcsvdatetimeiso8601

解决方案


我的 OP 询问如何在 Excel 中执行此操作,但是我发现使用正则表达式解析文件更容易。为此,我使用了出色的dnGrep工具,采用以下模式,将日期和时间分组为替换组,然后在替换中将它们用作$1and $2

搜索 -([0-9]{4}[-][0-9]{2}[-][0-9]{2})[T]([0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3})[0-9]{4}Z

代替 -$1 $2+00


推荐阅读