我有一串日期,日期和时间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: Fri
,
Year: 2013
,
Month: Jun
,
day of the Month: 07
,
Hour: 09
,
Minutes: 30
和
Seconds: 00
,
请在这方面帮助我,我将非常感谢你的善举。提前谢谢。
答案 0 :(得分:2)
参考这些格式Java Date Format Docs:
试试这段代码:
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];
...