小弟我的一道面试题,大家帮忙看一下吧

我的一道面试题,大家帮忙看一下吧有一日期,格式为(MM-DD-YYYY),请问如何分别获取各字段值?[解决办法]硬编

我的一道面试题,大家帮忙看一下吧
有一日期,格式为(MM-DD-YYYY),请问如何分别获取各字段值?


[解决办法]
硬编码 :
 toString()获取字符串 ,用字符串函数截取各段即可:

[解决办法]
用“-”分段,取各段。
[解决办法]
首先得到 这个date类型
如果不是(MM-DD-YYYY)类型就用SimpleDateFormat转一下
 Calendar xx = Calendar.getInstance();
 xx.setTime(你得到是日期);
 xx.get(Calendar.YEAR)
 xx.get(Calendar.MONTH)
xx.get(Calendar.DATE)
[解决办法]
calender c=calender.getInstance();
c.setTime(日期);
c.get(Calender.year);
c.get(Calender.month);
c.get(Calender.date);

[解决办法]
java里面应该有很多种方法可以做到,最基础的是把它当一个数组,一位一位的拆出来
[解决办法]
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
sdf.format(c.getTime());
c.get(Calender.YEAR); 
c.get(Calender.MONTH); 
c.get(Calender.DAY_OF_MONTH); 

[解决办法]
1. 字符分析器,API Please!
2. 不知道java中有没有spit()方法
[解决办法]
1.String.split("-")
2.String.indexOf("-")
3.Calendar
[解决办法]
假如日期为date;
int len1=date.indexOf("-") 
int len2=date.indexOf("-",len1)
int datelen=date.length
然后用
String.substring("")
[解决办法]
//方法一
String strDate="10-19-2007";
String[] arrDate=strDate.split("-");
if(arrDate!=null && arrDate.length>2){
System.out.println("MM="+arrDate[0]);
System.out.println("DD="+arrDate[1]);
System.out.println("yyyy="+arrDate[2]);
}

//方法二
java.util.Calendar ca=java.util.Calendar.getInstance();
java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("MM-dd-yyyy");//注意month要大写
ca.setTime(sdf.parse("10-19-2007"));
int year=ca.get(java.util.Calendar.YEAR); 
int mon=ca.get(java.util.Calendar.MONTH)+1; 
int day=ca.get(java.util.Calendar.DAY_OF_MONTH); 
System.out.println("MM="+mon);
System.out.println("DD="+day);
System.out.println("yyyy="+year);
[解决办法]
16楼的为什么
ca.setTime(sdf.parse("10-19-2007")); 
编译不过去呢?
我是新手,多多指教。
[解决办法]
//方法一 
String strDate="10-19-2007"; 
String[] arrDate=strDate.split("-"); 
if(arrDate!=null && arrDate.length >2){ 
System.out.println("MM="+arrDate[0]); 
System.out.println("DD="+arrDate[1]); 
System.out.println("yyyy="+arrDate[2]); 


//方法二 
java.util.Calendar ca=java.util.Calendar.getInstance(); 
java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("MM-dd-yyyy");//注意month要大写 
ca.setTime(sdf.parse("10-19-2007")); 


int year=ca.get(java.util.Calendar.YEAR);
int mon=ca.get(java.util.Calendar.MONTH)+1;
int day=ca.get(java.util.Calendar.DAY_OF_MONTH);
System.out.println("MM="+mon); 
System.out.println("DD="+day); 
System.out.println("yyyy="+year);
[解决办法]
Calendar c = Calendar.getInstance(); 
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); 
sdf.format(c.getTime()); 
c.get(Calender.YEAR);
c.get(Calender.MONTH);
c.get(Calender.DAY_OF_MONTH);
[解决办法]
首先得到 这个date类型 
如果不是(MM-DD-YYYY)类型就用SimpleDateFormat转一下 
 Calendar xx = Calendar.getInstance(); 
 xx.setTime(你得到是日期); 
 xx.get(Calendar.YEAR) 
 xx.get(Calendar.MONTH) 
xx.get(Calendar.DATE)
[解决办法]
已经说明是日子了。
直接用
getDate (返回值1-31)
getMonth (返回值0-11)
getYear (返回值减去1900的年数)

这些方法已经不是java推荐的方法了。使用Calendar的方法比较好。