3

导出到 CSV 时有没有办法保留日期格式?我有一个 GWT 应用程序。例如,我的日期数据是 03-01-2012 和 02-2012。成功将其导出为 CSV 后,当我打开 CSV 文件时,这些日期现在分别看起来像 2012 年 3 月 1 日和 2012 年 2 月 1 日。有没有办法控制它们在 CSV 中的外观?我在它们被导出并且日期正确之前调试并遵循了代码。我会很感激任何帮助。

4

5 回答 5

3

你应该看看 java.text.SimpleDateFormat

于 2012-05-16T16:49:01.620 回答
2

您不能(据我所知)在 CSV 文件中传递元信息。因此,要以发送方式查看日期,可以通过以下方式之一传递(数据值在逗号之间):

, 03-01-2012, ,="03-01-2012",

于 2013-09-12T10:33:24.713 回答
0

每当您处理约会并希望在工作时保持微笑时,请使用Joda Time

DateTimeFormatter formatter = new DateTimeFormatterBuilder().appendMonthOfYear(2)
                          .appendDayOfYear(2).appendYear(4, 4).toFormatter();
LocalDate d = LocalDate.parse(dateStr, formatter);
Date yourJavaDate = d.toDate();
... // work with java date (if needed! :( 
LocalDate outgoing = new LocalDate(yourJavaDate.getTime());
String myOutStr = outgoing.toString(formatter);
于 2012-05-16T17:29:07.620 回答
0

据我所知,使用 CSV 时无法控制日期在 Excel 中的显示方式(只能由 Excel 用户的设置控制)。我们遇到了类似的问题(电话号码),唯一可靠的解决方法是使用 Excel 格式。我们使用Apache POI编写 .xls 文件[*],我们可以在其中将单元格类型设置为文本。

至少对于电话号码,这是必要的 - 否则 Excel 会丢弃前导 0,并将它们视为数字(使得无法区分国内和国际电话号码)。然而,对于日期,也许值得考虑,如果让用户决定日期的显示方式会更好吗?

[*] 我们还提供下载 .csv 文件的功能,并警告说它们在使用 Excel 打开时并不理想。

于 2012-05-17T17:00:40.487 回答
0

只需在日期值之前使用一个空格

即,下面的示例查询

select ' '||to_char(mydatecolumn,'YYYY-MM-DD HH:MI:SS AM') DATEVALUE from mytable;

尝试将数据导出为 CSV,它将以与导出为 TEXT 的格式相同的格式保存,EXCEL 会将其视为 TEXT,因此不会将其更改为默认的 EXCEL 日期格式。

于 2017-09-14T07:11:22.617 回答