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