关于android:将String Date转换为integer和Get Month

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();
        }