我正在尝试将日期格式保存在YYYY-MM-DD中,例如,2014-09-01作为CSV文件,但是当我这样做时,格式会恢复为M / D / YYYY格式。
我尝试在Excel中将日期转换为字符串,但每次打开CSV文件时,都会返回M / D / YYYY格式。我需要将ISO 8601日期格式保存在CSV文件中。我该怎么做?
答案 0 :(得分:36)
基本功能是:
=TEXT(A1,"yyyy-mm-ddThh:MM:ss")
使用此选项可将Excel日期列转换为单独的ISO 8601日期列。接下来,将ISO 8601列复制到原件上(粘贴特殊:仅粘贴值)。 删除现在有垃圾的计算的ISO 8601列,因为Excel在ISO 8601日期很糟糕。
您现在拥有转换后的CSV或TSV或诸如此类的东西。只需保存为原始格式,并忽略愚蠢的Excel抱怨它不是它的本机文件格式以及如何通过保存为CSV文件以某种方式“丢失”并尽量不去考虑微软偷窃的生活时间用那个愚蠢的对话。
答案 1 :(得分:8)
作为非英语用户的注意事项。我花了一段时间才弄明白,格式字符串对您的区域设置/区域设置很敏感。例如。我的格式设置为德语:
=TEXT(C2;"jjjjMMtt")
(虽然OS和Excel设置为英语。)
答案 2 :(得分:5)
我复制并粘贴了@Dirk Bester的公式,
=TEXT(A1,”yyyy-mm-ddThh:MM:ss”)
但它不起作用,Excel 2010抱怨高低 - 也就是说,直到我从某种"智能引用"更改了引号。到普通的旧ASCII 0x22引号:
=TEXT(A1,"yyyy-mm-ddThh:MM:ss")
现在它就像一个魅力。 FYI。
答案 3 :(得分:3)
您可以设置一个单元格,例如:
右键单击单元格&gt; <格式格式>分类&gt;自定义&gt;输入&gt;写下这个:
url
抱歉我的英文。
答案 4 :(得分:2)
您可以直接跳到核选项:更改计算机的“区域和语言”设置以使用“yyyy-MM-dd”短日期格式。
答案 5 :(得分:1)
我相信您可能已经在.csv文件中创建了正确的格式。
但Excel会自动将其强制转换为打开.csv文件时提到的格式的日期值。解决方案可能是导入.csv文件而不是打开它,并且在获取外部数据的步骤3中,从文本中确保在适当的时候为列数据格式选择了文本。
答案 6 :(得分:0)
FWIW,以上内容均不适用于16世纪日期的Excel,例如1558年8月26日为26-08-1558。因此,为了将其转换为ISO日期,我使用了:
=RIGHT(D2|4)&"-"&MID(D2|4|2)&"-"&LEFT(D2|2)