2010-05-10 58 views
10

我有一个输出CSV文件的脚本。我应该如何格式化日期或日期+时间字段,以便Excel将正确解析该字段作为日期? PS:我想保持时区信息不变,以及保持时区信息不变。如何格式化日期时间以便Excel能够理解它?

+0

CSV不是一个非常明确的格式,在国际环境中,它们的解释取决于pc(dmy vs mdy)的区域设置。即使逗号可以用分号代替。我尽可能避免使用“非格式”。 – 2010-05-10 07:11:23

+0

我从未在一个声称为CSV的文件中看到“用分号替换逗号”。事实上,我不记得上次看到一个没有遵循RFC 4180的CSV文件()。唯一的问题是如何表示丰富的对象,如日期时间。 – Ken 2010-05-10 19:13:52

回答

-2

我会使用“dd/mm/yyyy hh:nn:ss”格式。我以前从来没有遇到过Excel理解这种格式的问题。

+0

时区怎么样? – nickf 2010-05-10 06:57:48

+0

时区必须作为单独的列添加。 – 2010-05-10 22:33:59

+2

这与“dd/MM/yyyy hh:mm:ss”格式相同吗? Excel不会从CSV文件正确读取此格式。它仅以美式格式(mm/dd/yyyy)读取日期,而不考虑您的区域设置。就我所知,这是Excel中的一个错误。 – SDK 2012-12-18 15:41:17

4

Excel的日期格式不包含任何有关时区的信息。我会将时区导出为一个单独的列,也许是格林尼治时间的偏移量,如5或-2。我个人更喜欢毫不含糊的yyyy-mm-dd日期格式。

+0

+5或-2到什么? – nickf 2010-05-10 11:47:19

+0

格林尼治标准时间(格林尼治标准时间)+5或-2,例如,东部标准时间为-5到格林尼治标准时间,而巴黎将为+1。 – dendarii 2010-05-10 11:54:49

+0

这就是我的意思,谁会知道? – nickf 2010-05-10 23:09:15