簡體   English   中英

在JAVA中將數據導出到文本文件時的日期和書寫問題

[英]Date and writing issues when exporting data to text file in JAVA

我正在運行這段代碼以獲取日期並將其存儲在日志文件中

String myDate ="";

                Date date = new Date();
                DateFormat df = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");


                df.setTimeZone(TimeZone.getTimeZone("America/Chicago"));
                myDate= df.format(date);


                sql = "UPDATE download SET ts_" + ae_num + " = DateTime('now','localtime')" + " WHERE tipid = ?;";
                System.out.println(sql);
                stmt = c.prepareStatement(sql);
                stmt.setString(1, tipNum);

                stmt.executeUpdate();
                //c.commit();

                stmt.close();

                c.close();

                try
                {
                    String content = "Username: "+ uname + " File_Name: "+ filename+" Downloaded_Time: " + myDate;
                    File file = new File("C:\\log\\log.txt");

                    if(!file.exists())
                    {
                        file.createNewFile();
                    }

                    PrintWriter pw =new PrintWriter(new FileWriter(file,true));
                    pw.println(content);
                    pw.close();


                }catch (IOException e)
                {
                    e.printStackTrace();
                }

文本文件內部月份混亂的問題示例:

Downloaded_Time: 2015-48-01 08:48:45

它應該是

Downloaded_Time: 2015-10-01 08:48:45

第二個問題是,如果有第二個運行相同代碼的Web服務器,除非重命名它,否則將無法寫入日志文件。 為什么?

我需要將一些信息(包括日期)存儲到文本文件中,並且我需要所有用戶都可以在同一文件上進行書寫。 有小費嗎 ?

仔細看看您的日期格式。 您在那里有兩次分鍾字段,而根本沒有一個月。

更換

    DateFormat df = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");

    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

關於日志記錄問題,讓多個進程寫入同一個文件非常棘手。
最好使用日志記錄框架來做到這一點。

該問題包含有關如何安全地執行此操作的更多信息。

您的格式字符串錯誤。 “ mm”是分鍾數,“ MM”(區分大小寫)是月份數。

月是MMmm Java中的日期格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM