Date,Calender,SimpleDateFormat总结
Date,Calender,SimpleDateFormat总结
类关系
java.lang.Object
↳ java.util.Date
java.lang.Object
↳ java.util.Calendar 一般用此代替Date
java.lang.Object
↳ java.text.Format
↳ java.text.DateFormat 抽象类
↳ java.text.SimpleDateFormat 格式化一般用这个,符号的意义可见此类的 api
示例:
long long1 = 1444810705806L;
Date date = new Date(long1);
Log.e("date.api", "-----------------Date------------------");
Log.e("date.getTime()", date.getTime() + "");
Log.e("date.getDate()", date.getDate() + "");
Log.e("date.getDay()", date.getDay() + "");
Log.e("date.getHours()", date.getHours() + "");
Log.e("date.getMinutes()", date.getMinutes() + "");
Log.e("date.getMonth()", date.getMonth() + "");
Log.e("date.tos", date.toString());
Log.e("date.toLocaleString", date.toLocaleString());
Log.e("Calendar.api", "-----------------Calendar------------------");
Calendar cl = Calendar.getInstance();
cl.setTime(date);
Log.e("cl.get(Calendar.DATE)", cl.get(Calendar.DATE) + "");
Log.e("cl.get(Calendar.MONTH)", cl.get(Calendar.MONTH) + "");
Log.e("DAY_OF_MONTH", cl.get(Calendar.DAY_OF_MONTH) + "");
Log.e("Calendar.HOUR_OF_DAY", cl.get(Calendar.HOUR_OF_DAY) + "");
Log.e("Calendar.HOUr", cl.get(Calendar.HOUR) + "");
Log.e("Calendar.MINUTE", cl.get(Calendar.MINUTE) + "");
Log.e("cl.get(Calendar.DATE)", cl.get(Calendar.DATE) + "");
Locale locale = this.getResources().getConfiguration().locale;// 本地时区或语言等
SimpleDateFormat myFmt = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒", locale);// 不谢local 默认jvm本地
SimpleDateFormat myFmt0 = new SimpleDateFormat("MM月dd日 HH:mm", locale);
SimpleDateFormat myFmt1 = new SimpleDateFormat("yy/MM/dd HH:mm", locale);
SimpleDateFormat myFmt2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", locale);//等价于now.toLocaleString()
SimpleDateFormat myFmt3 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ", locale);
SimpleDateFormat myFmt4 = new SimpleDateFormat(
"一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区", locale);
Log.e("SimpleDateFormat.api", "-----------------SimpleDateFormat - date 默认得到本地时区时间------------------");
Log.e("myFmt.format(date)", myFmt.format(date));
Log.e("myFmt0.format(date)", myFmt0.format(date));
Log.e("myFmt1.format(date)", myFmt1.format(date));
Log.e("myFmt2.format(date)", myFmt2.format(date));
Log.e("myFmt3.format(date)", myFmt3.format(date));
Log.e("myFmt4.format(date)", myFmt4.format(date));
Log.e("SimpleDateFormat.api", "-----------------SimpleDateFormat - now 默认得到本地时区时间------------------");
Date now = new Date();
Log.e("myFmt.format(now)", myFmt.format(now));
Log.e("myFmt0.format(now)", myFmt0.format(now));
Log.e("myFmt1.format(now)", myFmt1.format(now));
Log.e("myFmt2.format(now)", myFmt2.format(now));
Log.e("myFmt3.format(now)", myFmt3.format(now));
Log.e("myFmt4.format(now)", myFmt4.format(now));
结果
E/date.api: -----------------Date------------------
E/date.getTime(): 1444810705806
E/date.getDate(): 14
E/date.getDay(): 3
E/date.getHours(): 16
E/date.getMinutes(): 18
E/date.getMonth(): 9
E/date.tos: Wed Oct 14 16:18:25 GMT+08:00 2015
E/date.toLocaleString: 2015年10月14日 下午4:18:25
E/Calendar.api: -----------------Calendar------------------
E/cl.get(Calendar.DATE): 14
E/cl.get(Calendar.MONTH): 9
E/DAY_OF_MONTH: 14
E/Calendar.HOUR_OF_DAY: 16
E/Calendar.HOUr: 4
E/Calendar.MINUTE: 18
E/cl.get(Calendar.DATE): 14
E/SimpleDateFormat.api: -----------------SimpleDateFormat - date 默认得到本地时区时间------------------
E/myFmt.format(date): 2015年10月14日 16时18分25秒
E/myFmt0.format(date): 10月14日 16:18
E/myFmt1.format(date): 15/10/14 16:18
E/myFmt2.format(date): 2015-10-14 16:18:25
E/myFmt3.format(date): 2015年10月14日 16时18分25秒 周三
E/myFmt4.format(date): 一年中的第 287 天 一年中第42个星期 一月中第3个星期 在一天中16时 GMT+08:00时区
E/SimpleDateFormat.api: -----------------SimpleDateFormat - now 默认得到本地时区时间------------------
E/myFmt.format(now): 2015年12月16日 10时54分19秒
E/myFmt0.format(now): 12月16日 10:54
E/myFmt1.format(now): 15/12/16 10:54
E/myFmt2.format(now): 2015-12-16 10:54:19
E/myFmt3.format(now): 2015年12月16日 10时54分19秒 周三
E/myFmt4.format(now): 一年中的第 350 天 一年中第51个星期 一月中第3个星期 在一天中10时 GMT+08:00时区