使用日期和时间创建文件名

Tom*_*Tom 30 java filenames datetime

我希望你能帮助我,我试着打电话给另一个班级的日期,看起来像"2011-03-09 06-57-40",我想用这个来创建下面的文件但我每次都这样做输出运行它会在重新运行时调用dat()创建一个新文件.我知道出了什么问题我只是不确定如何修复它,我想要写一个同样的文件.我希望这是有道理的?:/

感谢您提前的任何帮助:)

    date d = new date();
    String  cdate = d.date();


    String f = h;

    try{
        PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(cdate + ".tsv", true)));
        out.print(f);
        out.print("\t");
        out.close();
    }catch (IOException e){
    }
Run Code Online (Sandbox Code Playgroud)

Run*_*odt 37

要创建名为当前日期/时间的文件:

Date date = new Date() ;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss") ;
File file = new File(dateFormat.format(date) + ".tsv") ;
BufferedWriter out = new BufferedWriter(new FileWriter(file));
out.write("Writing to file");
out.close();
Run Code Online (Sandbox Code Playgroud)


小智 21

这个可能要容易得多.只有一行代码可以将文件名称指定为日期和时间.

String out = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss'.tsv'").format(new Date());
Run Code Online (Sandbox Code Playgroud)


Yas*_*ima 11

我会尝试回答所有相同的问题.要以最可控的方式获取日期或时间字符串,请使用以下代码

Calendar cal = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = dateFormat.format(cal.getTime());
Run Code Online (Sandbox Code Playgroud)

查看http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html.它可能有助于理解.您还可以为格式化的字符串添加小时/分钟或所需内容.

另一种选择可能是始终将日历中的"较低"字段(如毫秒,秒,分钟)设置为零.

cal.set(Calendar.MINUTE,0);
Run Code Online (Sandbox Code Playgroud)

如果您要从其他课程中检索日期而无法直接创建日历,则还可以将日期放入日历中(注意:仅用于格式化您不需要日历)

cal.setTime(date);
Run Code Online (Sandbox Code Playgroud)

也许这有助于更好地控制创建的文件名/文件.