日期:2014-05-20  浏览次数:20632 次

我的一道面试题,大家帮忙看一下吧
有一日期,格式为(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"));