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

dced5bon  于 2022-12-30  发布在  其他
关注(0)|答案(8)|浏览(416)

我尝试将日期格式保存为YYYY-MM-DD(例如2014-09-01)作为CSV文件,但当我这样做时,格式恢复为M/D/YYYY格式。
我尝试在Excel中将日期转换为字符串,但每次打开CSV文件时,它都返回到M/D/YYYY格式。我需要将ISO 8601日期格式保存到CSV文件中。我该如何进行操作?

oiopk7p5

oiopk7p51#

其基本功能是:

=TEXT(A1,"yyyy-mm-ddThh:MM:ss")

使用此命令将Excel日期列转换为单独的ISO 8601日期列。接下来,将ISO 8601列复制到原始列上(选择性粘贴:仅粘贴值)。删除计算的ISO 8601列,这些列现在有垃圾,因为Excel在ISO 8601日期方面很糟糕。
你现在有一个转换的CSV或TSV或诸如此类的。只要保存为原始格式,忽略愚蠢的Excel抱怨它不是它的原生文件格式,以及你将如何通过保存为CSV文件以某种方式“失去”,并尽量不要去想微软用那个愚蠢的对话框偷走了你生命中的几个小时。

eh57zj3b

eh57zj3b2#

您可以设置单元格,例如:
右键单击单元格〉单元格格式〉类别〉自定义〉类型〉编写以下内容:

aaaa-mm-jjThh:mm:ss (french format here)
yyyy-mm-ddThh:MM:ss (english format)
ukdjmx9f

ukdjmx9f3#

提醒非英语用户注意。我花了一段时间才弄明白,格式字符串对您的区域设置/本地环境很敏感。例如,我的格式设置为德语:

=TEXT(C2;"jjjjMMtt")

(尽管操作系统和Excel设置为英语。)

llmtgqce

llmtgqce4#

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

txu3uszq

txu3uszq5#

我复制并粘贴了@德克·贝斯特的公式above

=TEXT(A1,”yyyy-mm-ddThh:MM:ss”)

但它不起作用,Excel 2010抱怨得很高很低。也就是说,直到我把引号从某种“智能引号”改为普通的老式ASCII 0x 22引号:

=TEXT(A1,"yyyy-mm-ddThh:MM:ss")

而现在它就像一个魅力。

1tu0hz3e

1tu0hz3e6#

我相信您很可能已经在.csv文件中创建了正确的格式。
但Excel会自动将其强制转换为您在打开.csv文件时指定的格式的日期值。解决方案可能是导入.csv文件而不是打开它,并在“从文本获取外部数据”的第3步中,确保在适当的位置为“列”数据格式选择了“文本”。

xjreopfe

xjreopfe7#

FWIW,以上方法在使用16世纪日期的Excel中均不适用,例如,26-08-1558表示1558年8月26日。因此,为了将其转换为ISO日期,我使用了:

=RIGHT(D2|4)&"-"&MID(D2|4|2)&"-"&LEFT(D2|2)
ktecyv1j

ktecyv1j8#

=DATEVALUE(LEFT(A1;10))

我用那个

相关问题