使用Java库解析特定形式的日期

使用Java库解析特定形式的日期,java,date,Java,Date,我正在运行一个将CSV日志作为输出的应用程序。对于日期字段,它以以下形式提供给我: “2012年9月25日08:47:46.983” 我希望将输出数据读入Java程序,转换给定的输出并将其作为长文件存储在我的程序中。Java中的DateFormat类或其他类似类是否允许我以上述形式指定字符串?(我可以编写自己的代码来解析上述行,但我不想对传入字符串的形式做出错误的假设。)您应该能够使用SimpleDataFormat解析它,可能除了秒的小数部分。是的,我正在考虑这一点;我想保持毫秒的准确性,但我

我正在运行一个将CSV日志作为输出的应用程序。对于日期字段,它以以下形式提供给我:

“2012年9月25日08:47:46.983”


我希望将输出数据读入Java程序,转换给定的输出并将其作为长文件存储在我的程序中。Java中的DateFormat类或其他类似类是否允许我以上述形式指定字符串?(我可以编写自己的代码来解析上述行,但我不想对传入字符串的形式做出错误的假设。)

您应该能够使用SimpleDataFormat解析它,可能除了秒的小数部分。是的,我正在考虑这一点;我想保持毫秒的准确性,但我想我可以简单地将它们添加到我的答案的末尾,对吗?你应该能够使用SimpleDataFormat解析它,除了秒的小数部分。是的,我正在考虑;我想保持毫秒的准确性,但我想我可以简单地将它们添加到我的答案的末尾,对吗?date.getTime()返回长历元值在我接受这个答案之前的最后一个问题。你知道
“MM/dd/yyyy kk:MM:ss.SSS”和
“MM/dd/yyyy kk:MM:ss.mmm”之间有什么区别吗?他们给出了不同的价值观。。。或者,更好的是,你是在网上得到这些信息的吗?你能给我链接吗?我认为
*.mmm
版本增加了额外的月份,因为它要大得多,但你提到的原始版本做到了。谢谢我检查了javadoc:S表示patterndate中的毫秒数。getTime()返回长历元值在我接受这个答案之前的最后一个问题。你知道
“MM/dd/yyyy kk:MM:ss.SSS”和
“MM/dd/yyyy kk:MM:ss.mmm”之间有什么区别吗?他们给出了不同的价值观。。。或者,更好的是,你是在网上得到这些信息的吗?你能给我链接吗?我认为
*.mmm
版本增加了额外的月份,因为它要大得多,但你提到的原始版本做到了。谢谢我检查了javadoc:S表示模式中的毫秒
public class TestTest {

public TestTest() {
    String dateString = "09/25/2012 08:47:46.983";

    DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy kk:mm:ss.SSS");

    try {
        Date date = dateFormat.parse(dateString);

        System.out.println("Date is: " + date.getTime());
    } catch (ParseException ex) {
        Logger.getLogger(TestTest.class.getName()).log(Level.SEVERE, null, ex);
    }


}

public static void main(String[] args) {
    TestTest test = new TestTest();
}

}