Convert String Date to integer and Get Month
我想将字符串日期转换为整数并从该整数获取月份我该怎么办?
例如:
我有字符串日期为:
1 | String date ="15-06-2016"; |
那我怎么能得到月份:
1 | 06 as output in integer |
使用SimpleDateFormate类只能在字符串中获得月份,而不是将字符串转换为整数
String dateString ="15-06-2016"
1 2 3 4 5 6 7 8 | SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH); try { Date date = sdf.parse(dateString); String formated = new SimpleDateFormat("MM").format(date); int month = Integer.parseInt(formated); } catch (Exception e) { e.printStackTrace(); } |
你可以这样做:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | try { String date ="15-06-2016"; SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); Date d = sdf.parse(date); Calendar cal = Calendar.getInstance(); cal.setTime(d); int month = cal.get(Calendar.MONTH); //YOUR MONTH IN INTEGER } catch (ParseException e) { e.printStackTrace(); } |
你不需要解析那个到目前为止得到月份的数量,那个转换是没有必要的(你可以但是浪费了内存和计算时间).....
使用正则表达式,拆分字符串并解析数组的第二个元素将直接得到...
1 2 3 4 5 6 | public static void main(String[] args) { String date ="15-06-2016"; String[] calend = date.split("-"); int month = Integer.parseInt(calend[1]); System.out.println("the month is" + month); } |
试试这个
1 2 3 4 5 6 7 8 9 | String startDateString ="15-06-2016"; DateFormat df = new SimpleDateFormat("dd-MM-yyyy"); Date startDate; try { startDate = df.parse(startDateString); Toast.makeText(getApplicationContext(),"Month"+(startDate.getMonth() + 1),Toast.LENGTH_LONG).show(); } catch (ParseException e) { e.printStackTrace(); } |
你可以试试这个
这个对我有用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | String input_date="15-06-2016"; SimpleDateFormat format1=new SimpleDateFormat("dd-MM-yyyy"); Date dt1= null; try { dt1 = format1.parse(input_date); DateFormat format2=new SimpleDateFormat("MM"); String strMonth=format2.format(dt1); int month=Integer.parseInt(strMonth); Log.e("date",""+month); } catch (ParseException e) { e.printStackTrace(); } |