当前时间戳作为Java中的文件名

时间:2011-09-20 16:31:29

标签: java timestamp

我想用我的Java应用程序用当前时间戳命名新文件。

我需要帮助。如何命名使用当前时间戳创建的新文件?我应该包括哪些课程?

7 个答案:

答案 0 :(得分:117)

不需要太复杂,试试这个衬垫:

String fileName = new SimpleDateFormat("yyyyMMddHHmm'.txt'").format(new Date());

答案 1 :(得分:4)

尝试这个

String fileSuffix = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());

答案 2 :(得分:3)

您可以通过以下方式获取附加了文件扩展名的当前时间戳:

String fileName = new Date().getTime() + ".txt";

答案 3 :(得分:2)

使用SimpleDateFormat作为aix建议将当前时间格式化为字符串。 您应该使用不包含/个字符的格式等。我建议使用yyyyMMddhhmm

之类的内容

答案 4 :(得分:2)

您可以使用DateTime

import org.joda.time.DateTime

选项1:带有yyyyMMddHHmmss

DateTime.now().toString("yyyyMMddHHmmss")

会给20190205214430

选项2:yyyy-dd-M--HH-mm-ss

   DateTime.now().toString("yyyy-dd-M--HH-mm-ss")

将给出2019-05-2--21-43-32

答案 5 :(得分:1)

DateSimpleDateFormat以及I / O方面所需的任何类(有很多可能性)。

答案 6 :(得分:0)

使用填充长度功能改进@ Derek Springer帖子:

public static String getFileWithDate(String fileName, String fileSaperator, String dateFormat) {
    String FileNamePrefix = fileName.substring(0, fileName.lastIndexOf(fileSaperator));
    String FileNameSuffix = fileName.substring(fileName.lastIndexOf(fileSaperator)+1, fileName.length());
    //System.out.println("File= Prefix~Suffix:"+FileNamePrefix +"~"+FileNameSuffix);
    
    String newFileName = new SimpleDateFormat("'"+FileNamePrefix+"_'"+dateFormat+"'"+fileSaperator+FileNameSuffix+"'").format(new Date());
    System.out.println("New File:"+newFileName);
    return newFileName;
}

使用功能及其输出:

String fileSaperator = ".", format = "yyyyMMMdd_HHmm";
getFileWithDate("Text1.txt", fileSaperator, format);
getFileWithDate("Text1.doc", fileSaperator, format);
getFileWithDate("Text1.txt.json", fileSaperator, format);

输出:

Old File:Text1.txt   New File:Text1_2020Nov11_1807.txt
Old File:Text1.doc   New File:Text1_2020Nov11_1807.doc
Old File:Text1.txt.json  New File:Text1.txt_2020Nov11_1807.json