将日期格式设置为CSV文件后,日期格式将丢失

时间:2014-11-12 09:49:18

标签: java date csv simpledateformat

我有一些日期,我需要将其放入CSV文件中。我使用简单的日期格式将日期格式化为String。通过使用调试器我发现它工作,日期确实格式正确。

然而,在将其放入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());

这让我发疯了。

1 个答案:

答案 0 :(得分:0)

当你打开它作为简单的文本文件时它保持你的格式yyyy-MM-dd HH:ss?

这可能是由于您使用的软件会自动将您的字符串格式更改为默认日期。