java 获取当前时间并转化为yyyy-MM-dd HH:mm:ss格式
https://blog.csdn.net/weixin_39973810/article/details/82012329
方法一(线程不安全, 不建议使用)
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = new Date();
String time = sdf.format(now);
方法二(线程安全,建议使用)
// yyyy-MM-dd HH:mm:ss.SSS ---> 年-月-日 时-分-秒-毫秒 (想删掉哪个小部分就直接删掉哪个小部分)
String timeStr1=LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String timeStr2=LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
System.out.println("当前时间为:"+timeStr1);
System.out.println("当前时间为:"+timeStr2);
运行结果:
当前时间为:2018-11-27 10:41:47
当前时间为:2018-11-27 10:41:47.392
Java8 日期时间API,新增了LocalDate、LocalDateTime、LocalTime等线程安全类
- LocalDate:只有日期,诸如:2019-07-13
- LocalTime:只有时间,诸如:08:30
- LocalDateTime:日期+时间,诸如:2019-07-13 08:30
/**
* 转换的时间枚举
*/
public enum DateFormatEnum {
yyyyMMddHHmmssSSS,
yyyyMMddHHmmss,
yyyyMMddHHmm,
yyyyMMdd
}
public static LocalDateTime now(){
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// sdf.format(new Date());
// return new Date();
return LocalDateTime.now();
}
public static String nowToString(){
return now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
/**
*
* case 后面只能是枚举值
* @param type
* @return
*/
public static String nowToString(DateFormatEnum type){
String str = null;
switch (type){
case yyyyMMddHHmmssSSS:
str="yyyy-MM-dd HH:mm:ss.SSS";
break;
case yyyyMMddHHmmss:
str="yyyy-MM-dd HH:mm:ss";
break;
case yyyyMMddHHmm:
str="yyyy-MM-dd HH:mm";
break;
case yyyyMMdd:
str="yyyy-MM-dd";
break;
default:
str="yyyy-MM-dd HH:mm:ss";
break;
}
return now().format(DateTimeFormatter.ofPattern(str));
}