java中date日期格式的各种转换

时间:2021-03-19 10:37:50

示例

        Date dt =new Date();
System.out.println(dt); //格式: Wed Jul 06 09:28:19 CST 2016 //格式:2016-7-6
String formatDate = null;
formatDate = DateFormat.getDateInstance().format(dt);
System.out.println(formatDate); //格式:2016年7月6日 星期三
formatDate = DateFormat.getDateInstance(DateFormat.FULL).format(dt);
System.out.println(formatDate); //格式 24小时制:2016-07-06 09:39:58
DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //HH表示24小时制;
formatDate = dFormat.format(dt);
System.out.println(formatDate); //格式12小时制:2016-07-06 09:42:44
DateFormat dFormat12 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //hh表示12小时制;
formatDate = dFormat12.format(dt);
System.out.println(formatDate); //格式去掉分隔符24小时制:20160706094533
DateFormat dFormat3 = new SimpleDateFormat("yyyyMMddHHmmss");
formatDate = dFormat3.format(dt);
System.out.println(formatDate); //格式转成long型:1467770970
long lTime = dt.getTime() / 1000;
System.out.println(lTime); //格式long型转成Date型,再转成String: 1464710394 -> ltime2*1000 -> 2016-05-31 23:59:54
long ltime2 = 1464710394;
SimpleDateFormat lsdFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date lDate = new Date(ltime2*1000);
String lStrDate = lsdFormat.format(lDate);
System.out.println(lStrDate); //格式String型转成Date型:2016-07-06 10:17:48 -> Wed Jul 06 10:17:48 CST 2016
String strDate = "2016-07-06 10:17:48";
SimpleDateFormat lsdStrFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date strD = lsdStrFormat.parse(strDate);
System.out.println(strD);
} catch (ParseException e) {
e.printStackTrace();
}

指定格式互转

        // date 转 yyyy-MM-dd HH:mm:ss
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String timeStr = sdf.format(new Date());
System.out.println("当前时间为:"+timeStr);
String fuck = timeStr.substring(5,timeStr.length());
System.out.println(fuck);        // yyyy年M月d日 转 yyyy-MM-dd
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年M月d日");
try {
Date d = sdf2.parse("2013年01月06日");
sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(d));
System.out.println(d.getDate());
} catch (ParseException e) {
e.printStackTrace();
}      // yyyy-MM-dd 转 MM-dd
try {
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf3.parse("2017-09-01");
sdf3=new SimpleDateFormat("MM-dd");
String shit = sdf3.format(date);
System.out.println(shit);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}