-4

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

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

day: Fri, Year: 2013, Month: Jun, day of the Month: 07, Hour: 09, Minutes: 30Seconds: 00,

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

4

5 回答 5

2

参考这些格式Java 日期格式文档

日期时间格式

试试这个代码:

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);
于 2013-05-08T07:18:55.777 回答
1

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

于 2013-05-08T07:14:04.103 回答
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));
于 2013-05-08T07:31:20.390 回答
0

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

new SimpleDateFormat("E, dd MM yyyy HH:mm:ss").parse(myDateString);
于 2013-05-08T07:17:23.273 回答
0

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

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

这将产生一个数组

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

然后使用它的元素

String dayOfWeek = parts[0];
...
于 2013-05-08T07:17:35.683 回答