我在 SQL Server 中有几个日期时间字段,它们以 .txt 或 .csv 格式输出到 CSV 文件中。在 Excel 2010 中自动打开 .csv 文件时,它将日期时间格式化为 mm:ss.0 并完全删除日期部分。
我已阅读此内容:Opening a CSV file in excel changes my formats and this: Date format that areGuaranteed to be recognized by Excel
这是存储在 CSV 文件 (.txt) 中的原始文本片段。请注意,日期部分是 ISO 格式。时间部分确实有毫秒。
"EVENTSTARTDATE","EVENTTITLE","PURCHASEDATE"
"2013-04-17 00:00:00.0","Test Event","2013-04-17 15:06:27.56"
这是Excel中的格式:
EVENTSTARTDATE EVENTTITLE PURCHASEDATE
00:00.0 Test Event 06:27.6
单击字段显示这些值:
EVENTSTARTDATE PURCHASEDATE
4/17/2013 12:00:00 AM 4/17/2013 3:06:28 PM
当我转到“格式化单元格...”并查看字段格式时,它是“自定义”和“mm:ss.0”。我可以将其重新格式化为 Date 格式并且它工作正常,所以显然数据本身是正确的。为什么 Excel 只格式化时间部分,为什么要去掉小时数?如果字段类型为“常规”,Excel 不应该能够解析日期时间数据吗?
其他可能相关的信息:我正在使用 ColdFusion 9 并且有使用 CreateODBCDateTime() 函数的代码。
<cfif isDate(raw)>
<cfset raw = CreateODBCDateTime(raw)>
</cfif>