内容:日期对象Date对象,日期格式对象DateFormat对象,日期格式相互转换,日期与距1970年毫秒值转换,练习
util包中Date类
#########################################################################
//新建日期对象,有默认的日期格式 Date date = new Date(); System.out.println(date); //Fri Feb 23 14:59:34 CST 2018 //获取日期格式对象,第一种,年月日 星期 DateFormat df = DateFormat.getDateInstance(DateFormat.FULL); //返回一个DateFormat对象,只有日期 String s_date = df.format(date); //按照格式对象格式对date进行格式化 System.out.println(s_date); //2018年2月23日 星期五 //第二种,年月日星期时分秒 df = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL); //还有小时 s_date = df.format(date); System.out.println(s_date); // 2018年2月23日 星期五 下午02时59分34秒 CST //第三,自定义日期显示格式 df = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss"); //定义日期格式 s_date = df.format(date); // 设置日期格式,并且返回一个日期字符串 System.out.println(s_date); //2018/02/23 02:59:34 //日期转换成默认日期 Date d = df.parse(s_date); //按照某个格式转化成标准日期 System.out.println(d); //Fri Feb 23 02:59:34 CST 2018
###################################################################
毫秒值和日期相互转换
long time = System.currentTimeMillis(); Date dt = new Date(time); DateFormat df = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); String s = df.format(dt); System.out.println(s); //日期转换成毫秒值 long ti = dt.getTime(); System.out.println(ti);
练习:2012/3/17,2012-5-28间隔多少天
String s_date1 = "2012/3/17"; String s_date2 = "2012-5-28"; DateFormat df1 = new SimpleDateFormat("yyyy/MM/dd"); DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd"); Date d1 = df1.parse(s_date1); Date d2 = df2.parse(s_date2); System.out.println(d1); System.out.println(d2); Long l = Math.abs(d1.getTime()-d2.getTime()); l = translate(l); System.out.println(l); } private static long translate(Long l) { return l/(1000*60*60*24); }