如何从java中提取日期和字符串

时间:2013-05-08 07:11:07

标签: java

我有一串日期,日期和时间String myDateString = "Fri, 07 Jun 2013 09:30:00";。对于日期January 2, 2010,我们使用new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH).parse(mystring);。在我的情况下,我可以使用什么代替MMMM d, yyyy

现在如何从字符串中提取以下模式中的日,年,月,日,小时,分钟和秒。

day: FriYear: 2013Month: Junday of the Month: 07Hour: 09Minutes: 30Seconds: 00

请在这方面帮助我,我将非常感谢你的善举。提前谢谢。

5 个答案:

答案 0 :(得分:2)

参考这些格式Java Date Format Docs

Formats for datetime

试试这段代码:

Date tempDate = new SimpleDateFormat("E, dd MM yyyy HH:mm:ss").parse("Fri, 09 12 2013 09:30:00");
System.out.println("Current Date " +tempDate);

答案 1 :(得分:1)

使用SimpleDateFormat对象提取日期并将其放入util.Date对象中。从那里提取您需要的各个属性。

答案 2 :(得分:1)

试试这个:

String myDateString = "Fri, 07 Jun 2013 09:30:00";
Date myDate = null;
// attempting to parse the String with a known format
try {
    myDate =  
        new SimpleDateFormat("E, dd MMM yy HH:mm:ss", Locale.ENGLISH)
            .parse(myDateString);           
}       
// something went wrong...
catch (Throwable t) {
    // just for debug
    t.printStackTrace();
}
finally {
    if (myDate != null) {
    // just for checking...
    System.out.println(myDate);
    // TODO manipulate with calendar        
    }
}

如果您确定收到的格式始终保持一致,这将有效。 然后,您可以通过初始化Calendar对象,然后检索其各个字段,将日期拆分为不同的值。

例如:

// once you're sure the date has been parsed
Calendar calendar = Calendar.getInstance(myTimeZone, myLocale);
calendar.setTime(myDate);
// prints the year only 
System.out.println(calendar.get(Calendar.YEAR));

答案 3 :(得分:0)

您可以使用标准库中的SimpleDateFormat。如下所示:

new SimpleDateFormat("E, dd MM yyyy HH:mm:ss").parse(myDateString);

答案 4 :(得分:0)

最简单的解决方案是拆分字符串

String[] parts = "Fri, 07 Jun 2013 09:30:00".split("[ :,]+");

这会产生一个数组

[Fri, 07, Jun, 2013, 09, 30, 00]

然后使用其元素

String dayOfWeek = parts[0];
...