我想将String Date转换为整数并从该整数中获取月份,我该怎么做?
例如: 我有字符串日期:
String date = "15-06-2016";
所以我怎么能把月份当作:
06 as output in integer
答案 0 :(得分:5)
使用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();
}
答案 1 :(得分:1)
你不需要解析那个到那个月然后得到月份的数量,那个转换是没有必要的(你可以但是浪费了内存和计算时间)......
使用正则表达式,拆分字符串并解析数组的第二个元素将直接得到...
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);
}
答案 2 :(得分:1)
你可以这样做:
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();
}
答案 3 :(得分:0)
你可以尝试这个
它对我有用。
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();
}
答案 4 :(得分:0)
试试这个
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();
}