如何将 Excel 中的日期转换为 ISO 8601 格式
Posted
技术标签:
【中文标题】如何将 Excel 中的日期转换为 ISO 8601 格式【英文标题】:How to convert a date in Excel to ISO 8601 format 【发布时间】:2015-02-07 22:11:29 【问题描述】:我正在尝试将日期格式保存为 YYYY-MM-DD,例如 2014-09-01 作为 CSV 文件,但是当我这样做时,格式会恢复为 M/D/YYYY 格式。
我尝试在 Excel 中将日期转换为字符串,但每次打开 CSV 文件时,它都会返回 M/D/YYYY 格式。我需要将 ISO 8601 日期格式保存在 CSV 文件中。我该怎么做?
【问题讨论】:
是的,M/D/Y 格式没什么用——你不能在上面按日期排序,这违反了我们在 1 年级学到的东西——数字的最高有效数字在左边,右边最不重要(一百/十/单位,记住)。因此,千年(即数千年)显然比数百、数十、年单位、数十个月、月单位、数十天、天单位更重要。不知道为什么人们在 21 世纪仍然使用 M/D/Y - 它应该被禁止。 【参考方案1】:基本功能是:
=TEXT(A1,"yyyy-mm-ddThh:MM:ss")
使用它可以将您的 Excel 日期列转换为单独的 ISO 8601 日期列。接下来,将 ISO 8601 列复制到原件上(特殊粘贴:仅粘贴值)。 删除计算出来的 ISO 8601 列,这些列现在有垃圾,因为 Excel 在 ISO 8601 日期上很烂。
您现在有一个转换后的 CSV 或 TSV 或诸如此类的东西。只需保存为原始格式并忽略愚蠢的 Excel 抱怨它不是其本机文件格式,以及您将如何通过另存为 CSV 文件以某种方式“输掉”,并尽量不去想您生命中被微软偷走的时间用那个愚蠢的对话框。
【讨论】:
【参考方案2】:您可以设置一个单元格,例如:
右键单击单元格>单元格格式>类别>自定义>类型>写这个:
aaaa-mm-jjThh:mm:ss (french format here)
yyyy-mm-ddThh:MM:ss (english format)
【讨论】:
另外,毫秒为:yyyy-mm-ddThh:MM:ss.000 我更喜欢使用这种方法,在 Excel 中保持时间和日期(不仅仅是文本字符串),但我不知道如何添加时区日期,例如:@ 987654322@ 表示相对于 GMT 为 +08 小时的西澳大利亚时区。【参考方案3】:作为非英语用户的注意事项。我花了一段时间才弄清楚,格式字符串对您的区域设置/语言环境很敏感。例如。我的格式设置为德语:
=TEXT(C2;"jjjjMMtt")
(虽然 OS 和 Excel 设置为英文。)
【讨论】:
我认为你应该使用 =TEXT(A2;"jjjjMMtt") 代替,或者你显示分钟而不是月份【参考方案4】:您可以直接跳到核选项:将计算机的“区域和语言”设置更改为使用“yyyy-MM-dd”短日期格式。
【讨论】:
从格式为 21-6-2019 的 csv 开始。确保您的区域设置相同。双击 CSV 以在 Excel 中打开(不要使用数据/来自文本,这是行不通的。不要问我为什么)。 Excel 会将日期识别为日期。现在选择每个日期列并将日期格式更改为 2019-06-21。 Excel 2016。【参考方案5】:我复制粘贴@Dirk Bester的公式above:
=TEXT(A1,”yyyy-mm-ddThh:MM:ss”)
但它不起作用,Excel 2010 抱怨高低。也就是说,直到我将引号从某种“智能引号”更改为普通的旧 ASCII 0x22 引号:
=TEXT(A1,"yyyy-mm-ddThh:MM:ss")
现在它就像一个魅力。
【讨论】:
奇怪,想知道那些是怎么溜进去的。智能引号真的很蠢。【参考方案6】:我相信您可能已经在 .csv 文件中创建了正确的格式。
但 Excel 会自动将其强制转换为您在打开 .csv 文件时提到的格式的日期值。一种解决方案可能是导入 .csv 文件而不是打开它,并在从文本获取外部数据的第 3 步中,确保在适当的情况下为列数据格式选择文本。
【讨论】:
在记事本中打开 CSV 文件来测试这个理论。 Excel 太聪明了,有时它自己也有好处。【参考方案7】:FWIW,以上所有方法都不适用于具有 16 世纪日期的 Excel,例如26-08-1558 表示 1558 年 8 月 26 日。因此,为了将其转换为 ISO 日期,我使用了:
=RIGHT(D2|4)&"-"&MID(D2|4|2)&"-"&LEFT(D2|2)
【讨论】:
【参考方案8】:=DATEVALUE(LEFT(A1;10))
我用过
【讨论】:
以上是关于如何将 Excel 中的日期转换为 ISO 8601 格式的主要内容,如果未能解决你的问题,请参考以下文章