【发布时间】:2014-11-12 09:49:17
【问题描述】:
我有一些日期,我需要将其放入 CSV 文件中。我使用简单的日期格式将日期格式化为字符串。通过使用调试器,我发现它可以正常工作,日期的格式确实正确。
但是,在将其放入 CSV 文件后,我得到了 dd-MM-yyyy HH:ss 格式,我想要 yyyy-MM-dd HH:ss。
代码如下:
if (x.Contact_Email_IsSubscribed.equals("False")) {
//boolean merged = false;
Date latestUnsubscriptionDate=new Date(0);
// MERGE UNSUBSCRIBED DATE WITH CONTACT
for (Contact y : unsubscribedContacts) {
if (y.EmailAddress.equals(x.C_EmailAddress)) {
//find latest unsubscription date
Date unsubscriptionDate=new SimpleDateFormat("yyyy-MM-dd
HH:mm").parse(y.ActivityDate);
//System.out.println(unsubscriptionDate);
if
(unsubscriptionDate.compareTo(latestUnsubscriptionDate)>0){
latestUnsubscriptionDate=unsubscriptionDate;
//System.out.println();
}
}
}
values.append(x.toString() + ";" + new
SimpleDateFormat("yyyy-MM-dd HH:mm").format(latestUnsubscriptionDate));
values.append("\n");
} else {
values.append(x.toString() + ";null" + "\n");
}
对于 CSV 文件,它只是这样写:
writer = new FileWriter(sFileName);
writer.append(values.toString());
这让我发疯。
【问题讨论】:
-
System.out 打印的值是否正确?
-
我假设 CSV 是按照您的预期编写的。尝试在文本编辑器而不是 excel 中打开它,后者会自动格式化该格式的日期
-
@lock 你是对的......见鬼,我花了这么多时间。我现在觉得非常愚蠢。谢谢你。有什么办法可以避免excel格式不正确?顺便说一句,请回答,以便我标记为正确答案。
标签: java date csv simpledateformat