【问题标题】:Convert String Date to integer and Get Month将字符串日期转换为整数并获取月份
【发布时间】:2016-10-14 16:40:06
【问题描述】:

我想将字符串日期转换为整数并从该整数中获取月份我该怎么做??

例如: 我的字符串日期为:

String date = "15-06-2016";

那么我怎样才能得到月份:

06 as output in integer

【问题讨论】:

标签: android calendar


【解决方案1】:

使用 SimpleDateFormate 类,与将字符串转换为整数后相比,您只能在字符串中获得月份

String dateString = "15-06-2016"

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

【讨论】:

    【解决方案2】:

    你不需要解析那个日期然后得到月份的数字,那个转换是没有必要的(你可以但是浪费内存和计算时间).....

    使用正则表达式,拆分字符串并解析数组的第二个元素将直接得到...

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

    【讨论】:

      【解决方案3】:

      你可以这样做:

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

      【讨论】:

        【解决方案4】:

        你可以试试这个

        它对我有用。

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

        【讨论】:

          【解决方案5】:

          试试这个

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-07-22
            • 1970-01-01
            • 2020-11-16
            • 2023-03-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-07-08
            相关资源
            最近更新 更多