JAVA学习第四十六课 — 其他对象API(二)Date类 & Calendar类(重点掌握)
2014-10-24 02:00
639 查看
Date类(重点)
开发时,会时常遇见时间显示的情况,所以必须熟练Date的应用
日期对象和毫秒值之间的转换问题。
毫秒值->日期对象 :1.new Date(TimeMillis);2.setTime()
故:可以通过Date对象的方法对某年、月、日进行操作
日期对象->毫秒值 :getTime();
故:可以通过具体的数值进行运算,两个日期对象无法减,变成毫秒就可以减,得到相隔几天
Boolean
int
把日期对象转成字符串。
字符串转日期对象
Date类练习
2014-10-24 到 2012-12-25日有多少天
1.将字符串转成Date对象
2.将Date对象转成毫秒
3.相减得天数
Calendar类
练习:
开发时,会时常遇见时间显示的情况,所以必须熟练Date的应用
<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>import java.util.*; public class Main { public static void main(String[] args){ long l = System.currentTimeMillis();//1414079892981 System.out.println(l); Date date = new Date();//当前时间 System.out.println(date); Date date2 = new Date(1414079892981l);//将毫秒值封装成对象 System.out.println(date2); } }</strong></span>
日期对象和毫秒值之间的转换问题。
毫秒值->日期对象 :1.new Date(TimeMillis);2.setTime()
故:可以通过Date对象的方法对某年、月、日进行操作
日期对象->毫秒值 :getTime();
故:可以通过具体的数值进行运算,两个日期对象无法减,变成毫秒就可以减,得到相隔几天
Boolean after(Date when)测试此日期是否在指定日期之后。
Boolean
before(Date when)测试此日期是否在指定日期之前。
Object clone()返回此对象的副本。
int
compareTo(Date anotherDate)比较两个日期的顺序。
Boolean equals(Object obj)比较两个日期的相等性。
把日期对象转成字符串。
<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args){ MethodDemo(); } public static void MethodDemo(){//对日期对象格式化 转换成日期格式的字符串 Date date = new Date(); //获取日期对象,具备默认的风格 DateFormat dateFormat = DateFormat.getDateInstance();//获取日期工厂 String str_Date = dateFormat.format(date); System.out.println(str_Date);//2014-10-24 DateFormat dateFormat2 = DateFormat.getDateTimeInstance();//获取日期加时间工厂 String str_Date2 = dateFormat2.format(date); System.out.println(str_Date2);//2014-10-24 0:30:22 //指定格式 FULL:2014年10月24日 星期五 LONG:2014年10月24日 SHORT:14-10-24 DateFormat dateFormat3 = DateFormat.getDateInstance(dateFormat.FULL);//获取日期工厂 String str_Date3 = dateFormat3.format(date); System.out.println(str_Date3); //2014年10月24日 星期五 上午12时39分27秒 DateFormat dateFormat4 = DateFormat.getDateTimeInstance(dateFormat.FULL,dateFormat.LONG); String str_Date4 = dateFormat4.format(date); System.out.println(str_Date4); //自定义风格 使用的是DateFormat类中的format方法,其中SimpleDateFormat是DateFormat的子类 DateFormat dateFormat5 = new SimpleDateFormat("yyyy#MM#dd"); String str_Date5 = dateFormat5.format(date); System.out.println(str_Date5); } }</strong></span>
字符串转日期对象
<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args)throws ParseException{ MethodDemo(); } //字符串转Date对象 使用的是parse方法 public static void MethodDemo() throws ParseException{ //默认风格 String str_date = "2014-10-24"; DateFormat dateFormat = DateFormat.getDateInstance(); Date date = dateFormat.parse(str_date);//抛异常 System.out.println(date); //自定义风格 String str_date2 = "2014年10月24日"; DateFormat dateFormat2 = DateFormat.getDateInstance(DateFormat.LONG); Date date2 = dateFormat2.parse(str_date2);//抛异常 System.out.println(date2); String str_date3 = "2014年--10月--24日"; DateFormat dateFormat3 = DateFormat.getDateInstance(DateFormat.LONG); dateFormat3 = new SimpleDateFormat("yyyy年--MM月--dd日"); Date date3 = dateFormat3.parse(str_date3);//抛异常 System.out.println(date3); } }</strong></span>
Date类练习
2014-10-24 到 2012-12-25日有多少天
1.将字符串转成Date对象
2.将Date对象转成毫秒
3.相减得天数
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args)throws ParseException{ MethodDemo(); } public static void MethodDemo() throws ParseException{ String str1 = "2014-10-24"; String str2 = "2012-12-25"; Date date1 = new Date(); Date date2 = new Date(); DateFormat dateFormat1 = DateFormat.getDateInstance(); dateFormat1 = new SimpleDateFormat("yyyy-MM-dd"); date1 = dateFormat1.parse(str1); date2 = dateFormat1.parse(str2); long time1 = date1.getTime(); long time2 = date2.getTime(); long time = Math.abs(time1 - time2); int day = Getday(time); System.out.println(day+"天"); } public static int Getday(long time){ return (int)(time/1000/60/60/24); } }
Calendar类
public class Main { public static void main(String[] args){ MethodDemo(); } public static void MethodDemo() { Calendar ca = Calendar.getInstance(); int year = ca.get(Calendar.YEAR); int mon = ca.get(Calendar.MONTH)+1;//注意要+1,0代表一月 int day = ca.get(Calendar.DAY_OF_MONTH); int week = ca.get(Calendar.DAY_OF_WEEK);//注意国外和我们不一样 //2014-10-24-星期五 System.out.println(year+"-"+mon+"-"+day+"-"+GetWeek(week)); } private static String GetWeek(int i) { // TODO Auto-generated method stub String[] week = {"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"}; return week[i]; } }
练习:
import java.util.Calendar; public class Main { public static void main(String[] args){ int year = 2014; showyear(year);//判断某一年的二月有几天 //showday(); } private static void showyear(int year) { Calendar ca = Calendar.getInstance(); ca.set(year,2,1);//设置某年3月1日时间 ca.add(Calendar.DAY_OF_MONTH, -1);//3月的前一天 MethodDemo(ca); } private static void showday() { Calendar ca = Calendar.getInstance(); ca.set(2015,10,25);//设置2015.11.25时间 ca.add(Calendar.DAY_OF_MONTH, -1);//时间偏移-》2013 MethodDemo(ca);//2015-10-24-星期二 ca.add(Calendar.DAY_OF_MONTH, 10);//超过会自动进一个月 MethodDemo(ca); } public static void MethodDemo(Calendar ca) { int year = ca.get(Calendar.YEAR); int mon = ca.get(Calendar.MONTH)+1; int day = ca.get(Calendar.DAY_OF_MONTH); int week = ca.get(Calendar.DAY_OF_WEEK); int hour = ca.get(Calendar.HOUR); int minute = ca.get(Calendar.MINUTE); int second = ca.get(Calendar.SECOND); System.out.print(year+"-"+mon+"-"+day+"-"+GetWeek(week)+"-"+hour+":"); if(minute>9){ System.out.println(minute+":"+second); } else { System.out.println("0"+minute+":"+second); } } private static String GetWeek(int i) { String[] week = {"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"}; return week[i]; } }
相关文章推荐
- JAVA学习第四十六课 — 其它对象API(二)Date类 & Calendar类(重点掌握)
- java--jdk api中其他对象(System,Runtime,Calendar,Math,Random,Date)
- 07-其他对象API(Date类-练习) 08-其他对象API(Calendar类-基本演示) 09-其他对象API(Calendar类-练习) 12
- JAVA学习第三十一课(常用对象API)- StringBuffer类&&StringBuilder类
- java学习之其他对象API
- <java——常用对象API、其他对象>
- JAVA学习第四十五课 — 其他对象API(一)System、Runtime、Math类
- Java学习日志--其他对象Calendar
- java--jdk api中其他对象(System,Runtime,Calendar,Math,Random,Date)
- 黑马程序员—java基础学习--API其他对象
- 黑马程序员_学习笔记:12) 其他API:java.lang.Runtime、java.util.Math、java.util.Date、java.util. Calendar
- java语言面向对象笔记,在学习面向对象时应该理解掌握的原理-作者:逝秋
- Java学习日志--其他对象Date
- 黑马程序员________Java中IO技术其他常用流对象学习笔记
- Java菜鸟学习笔记--面向对象篇(十八):对象转型&多态
- Java基础<十六>---> IO之其他流对象
- 程序员_Java基础之<十二>-IO流<3>其他流对象、编码
- 黑马程序员---java学习笔记之其他对象
- 黑马程序员_JAVA学习日记_JAVA中API中对象String类的补充
- java学习之路--java对象(1)--重点String类的常用方法