如何解析日期字符串
的具体格式我有这些字符串如何解析日期字符串
String day1 = "June 3, 2015";
和
String day2 = "June 25, 2015";
我想创建一个方法来解析出的月,日和年。目前我正在使用substring(),但认为可能有更好的解决方案?
解决方案1:
使用的StringTokenizer来标记串例如:从日期
String str = "June 3, 2015";
StringTokenizer defaultTokenizer = new StringTokenizer(str);
while (defaultTokenizer.hasMoreTokens())
{
System.out.println(defaultTokenizer.nextToken());
}
删除 '' 即使用deletecharAt(INT指数)第二令牌;
希望为你
方案2的工作原理: 使用split()方法
for (String retval: Str.split(" ", 3)){
System.out.println(retval);
}
split() takes two argument first it will take the token , and the limit is how many strings. still you have to remove ',' .
还有一个最简单的办法: 解决方案3:
SimpleDateFormat format = new SimpleDateFormat("MMMM d, yyyy");
Date date1 = format.parse(day1);
Date date2 = format.parse(day2);
[JavaDoc](http://docs.oracle.com) com/javase/7/docs/api/java/util/StringTokenizer.html)说:*'StringTokenizer'是一个遗留类,为了兼容性的原因被保留,尽管它在新代码中的使用不受欢迎。建议任何寻求这种功能的人都使用'String'或'java.util.regex'包中的'split'方法。* – RealSkeptic
注意这相当于到MMMM dd, yyyy
试试这个。
SimpleDateFormat sdf = SimpleDateFormat("MMMM dd, yyyy");
Date parsed = sdf.parse(day1, new ParsePosition(0));
...
ps:我没有试过这个代码,请随时评论任何东西。
使用SimpleDateFormat,并从那里解析日期。
SimpleDateFormat format = new SimpleDateFormat("MMMM d, yyyy");
Date date1 = format.parse(day1);
Date date2 = format.parse(day2);
ROLF,这与我刚才的方法相同:D –
你可以尝试像
private static final String DAY = "dd";
private static final String MONTH = "MM";
private static final String YEAR = "yyyy";//use the format you want this just an example
Format month = new SimpleDateFormat(MONTH);
Format day = new SimpleDateFormat(DAY);
Format year = new SimpleDateFormat(YEAR);
month.format(your date);
day.format(your date);
year.format(your date);
'SimpleDateFormat'吧? –
http://stackoverflow.com/questions/16208121/java-create-date-object-using-a-value-string –
可能的重复[如何解析/格式与LocalDateTime日期? (Java 8)](http://stackoverflow.com/questions/22463062/how-to-parse-format-dates-with-localdatetime-java-8) – RealSkeptic