繁体   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