020.2.4日期格式化、解析(重)

内容:日期对象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);

}
答案
原文地址:https://www.cnblogs.com/-nbloser/p/8831284.html