如何将Excel中的日期转换为ISO 8601格式

Mik*_*e C 29 csv excel date

我试图将日期格式保存在YYYY-MM-DD中,例如,2014-09-01作为CSV文件,但是当我这样做时格式会恢复为M/D/YYYY格式.

我尝试在Excel中将日期转换为字符串,但每次打开CSV文件时,它都会返回M/D/YYYY格式.我需要将ISO 8601日期格式保存在CSV文件中.我该怎么做呢?

Dir*_*ter 42

基本功能是:

=TEXT(A1,"yyyy-mm-ddThh:MM:ss")
Run Code Online (Sandbox Code Playgroud)

使用此选项可将Excel日期列转换为单独的ISO 8601日期列.接下来,将ISO 8601列复制到原件上(粘贴特殊:仅粘贴值).删除现在有垃圾的计算的ISO 8601列,因为Excel糟透了ISO 8601日期.

您现在有一个转换的CSV或TSV或诸如此类的东西.只需保存为原始格式,并忽略愚蠢的Excel抱怨它不是它的本机文件格式以及如何通过保存为CSV文件以某种方式"丢失"并尽量不去考虑微软偷窃的生活时间与那个愚蠢的对话.


小智 11

您可以设置一个单元格,例如:

右键单击单元格 > 单元格格式 > 类别 > 自定义 > 类型 > 写这个:

aaaa-mm-jjThh:mm:ss (french format here)
yyyy-mm-ddThh:MM:ss (english format)
Run Code Online (Sandbox Code Playgroud)

对不起我的英语不好。

  • 此外,毫秒为:yyyy-mm-ddThh:MM:ss.000 (2认同)
  • 我更喜欢使用这种方法,使时间和日期在 Excel 中保持活动状态(而不仅仅是文本字符串),但我不知道如何添加时区日期,例如:`2014-01-01T01:00: 00+0800` 表示西澳大利亚时区相对于 GMT 的 +08 小时。 (2认同)

Mar*_*ust 8

作为非英语用户的注意事项.我花了一段时间才弄明白,格式字符串对您的区域设置/区域设置很敏感.例如,我的格式设置为德语:

=TEXT(C2;"jjjjMMtt")
Run Code Online (Sandbox Code Playgroud)

(虽然OS和Excel设置为英语.)

  • 我认为您应该使用= TEXT(A2;“ jjjjMMtt”)代替,或者您显示分钟而不是月份 (2认同)

Jef*_*dge 5

您可以直接跳到核选项:更改计算机的“区域和语言”设置,以使用“ yyyy-MM-dd”短日期格式。


Tom*_*ndt 5

我复制并粘贴了@Dirk Bester的公式,

=TEXT(A1,”yyyy-mm-ddThh:MM:ss”)
Run Code Online (Sandbox Code Playgroud)

但它不起作用,Excel 2010抱怨高低 - 也就是说,直到我将引号从某种"智能引用"更改为普通的旧ASCII 0x22引号:

=TEXT(A1,"yyyy-mm-ddThh:MM:ss")
Run Code Online (Sandbox Code Playgroud)

而现在它就像一个魅力.仅供参考.

  • 很奇怪,想知道那些人是如何滑倒的.聪明的报价真是愚蠢. (2认同)