所有的时间类型都可以被SimpleDateFormat格式化
获取时间戳
//精确到 毫秒级
long ts1 = System.currentTimeMillis(); // 性能最好最优
long ts2 = Calendar.getInstance().getTimeInMillis();// 性能不如第一个
long ts3 = new Date().getTime(); // 底层是System.currentTimeMillis(),消耗性能
System.out.println("ts1="+ts1+";ts2="+ts2+";ts3="+ts3);
//时间戳转日期类型
Date date = new Date(ts1);
System.out.println(date);
//获取指定时间的时间戳
try {
long ts = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").parse("2019-04-25 10:14:30:121").getTime();
System.out.println(ts);
} catch (ParseException e) {
e.printStackTrace();
}
java.util.Date ——> String
Date date = new Date();
System.out.println(date.toString());
// HH:24小时制; hh:12小时制。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(date));
String——>java.util.Date
String tString = "2019-04-25 10:30:25";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:Ss");
try {
//系统无法决定你输入的date类型的日期或者str的日期格式是否正确,这里必须使用try-catch
Date date = sdf.parse(tString);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}