String str = "2007-08-21"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(str); Calendar cal = new GregorianCalendar(); cal.setTime(date); System.out.println(cal.get(Calendar.YEAR)); System.out.println(cal.get(Calendar.MONTH) + 1);
import java.util.Date; import java.util.Calendar; import java.text.SimpleDateFormat; public class DateTest { public static void main(String args[]) throws Exception { String strDate = "2007-09-09"; if (strDate == null || strDate.equals("")) return; SimpleDateFormat formatter =new SimpleDateFormat("yyyy-MM-dd"); Date date = formatter.parse(strDate); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); String date_now=calendar.get(calendar.YEAR)+"年"+(calendar.get(calendar.MONTH)+1)+"月"+calendar.get(calendar.DATE)+"日 "; System.out.println(date_now); } }
SimpleDateFormat 要引用哪个包??
calendar.get(calendar.MONTH)+1 为什么要加1呢?
calendar.MONTH 对应的月从0到11.. 所以取出的值应该加一才是真正的月数
为什么要加“1”,都是 Sun 那帮人干的好事——月份不是从“1”开始,而是从“0”开始,不知道为什么要这样,想不通ing
然后通过atoi()函数将其转为数值型
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(str);
Calendar cal = new GregorianCalendar();
cal.setTime(date);
System.out.println(cal.get(Calendar.YEAR));
System.out.println(cal.get(Calendar.MONTH) + 1);
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class DateTest { public static void main(String args[]) throws Exception {
String strDate = "2007-09-09";
if (strDate == null || strDate.equals("")) return;
SimpleDateFormat formatter =new SimpleDateFormat("yyyy-MM-dd");
Date date = formatter.parse(strDate);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
String date_now=calendar.get(calendar.YEAR)+"年"+(calendar.get(calendar.MONTH)+1)+"月"+calendar.get(calendar.DATE)+"日 ";
System.out.println(date_now);
}
}
为什么要加1呢?
对应的月从0到11..
所以取出的值应该加一才是真正的月数