我希望我的应用以“ dd-MMM-yyyy”格式解析日期。当我尝试获取月份和年份时,日期已成功解析,它给出了其他结果。我输入2014年9月6日作为日期。但是,当我尝试从解析的日期中提取月份和年份时,它显示的是每月8(而不是9)和114(而不是2014)。
logcat输出
6
8
114
这是我的代码
String date1 = "06 sep 2014";
SimpleDateFormat format1 = new SimpleDateFormat("dd MMM yyyy");
SimpleDateFormat format2 = new SimpleDateFormat("d MMM yyyy");
Date date;
try {
if (date1.length() == 11) {
date = format1.parse(date1);
} else {
date = format2.parse(date1);
}
int day=date.getDate();
int mon1=date.getMonth();
int year1=date.getYear();
System.out.println("date is:"+ date);
System.out.println(day);
System.out.println(mon1);
System.out.println(year1);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public final class DateParseDemo {
public static void main(String[] args){
final DateFormat df = new SimpleDateFormat("dd MMM yyyy");
final Calendar c = Calendar.getInstance();
try {
c.setTime(df.parse("06 sep 2014"));
System.out.println("Year = " + c.get(Calendar.YEAR));
System.out.println("Month = " + (c.get(Calendar.MONTH)));
System.out.println("Day = " + c.get(Calendar.DAY_OF_MONTH));
}
catch (ParseException e) {
e.printStackTrace();
}
}
}
输出:
至于month字段,则从0开始。这意味着一月= 0,十二月=11。如javadoc所述,
get和set的字段号指示月份。这是日历特定的值。阳历和朱利安历法中的第一个月是1月,0。最后一个取决于一年中的月份数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句