1. String类型时间转换Date,计算时间差
/**
* Method: String 类型时间转 Date
*/
@Test
public void testStringToDate() throws Exception {
String ss = "{\"notbefore\":\"2019.11.09 15:09:00\",\"notafter\":\"2022.07.24 15:09:00\"}";
JSONObject json = JSONObject.parseObject(ss);
String notafter = json.getString("notafter");
String notbefore = json.getString("notbefore");
System.out.println("String类型时间-notafter: " + notafter);
System.out.println("String类型时间-notbefore:" + notbefore);
//注意格式 yyyy.MM.dd HH:mm:ss 和 String 类型对应
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
Date parse1 = sdf.parse(notafter);
Date parse2 = sdf.parse(notbefore);
int timeSize = (int) ((sdf.parse(notafter).getTime() - sdf.parse(notbefore).getTime()) / (1000 * 3600 * 24));
System.out.println("Date类型时间-notafter: " + parse1);
System.out.println("Date类型时间-notbefore:" + parse2);
System.out.println("时间差timeSize: " + timeSize + " 天");
}
控制台:
String类型时间-notafter: 2022.07.24 15:09:00
String类型时间-notbefore:2019.11.09 15:09:00
Date类型时间-notafter: Sun Jul 24 15:09:00 CST 2022
Date类型时间-notbefore:Sat Nov 09 15:09:00 CST 2019
时间差timeSize: 988 天Process finished with exit code 0
特别注意format的格式要与日期String的格式相匹配,再例如:
String dateStr = "2010/05/04 12:34:23";
Date date = new Date();
DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
date = sdf.parse(dateStr);
2. Date类型时间转String
/**
* Method: Date 类型时间转 String
*/
@Test
public void testDateToString() throws Exception {
String dateStr;
String dateStr1;
Date date = new Date();
//format的格式可以任意
DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
DateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH/mm/ss");
dateStr = sdf.format(date);
dateStr1 = sdf2.format(date);
System.out.println("dateStr : " + dateStr);
System.out.println("dateStr1 : " + dateStr1);
}
控制台:
dateStr : 2019/11/11 09:56:10
dateStr1 : 2019-11-11 09/56/10Process finished with exit code 0