import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class DateFormatUtil {
private static final DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
private static final DateTimeFormatter dtfFull = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//将年月日转化为时间戳,boolean isFull默认是false:传的是年月日,true:传的是时分秒
public static Long toTs(String dtStr, boolean isFull) {
LocalDateTime localDateTime = null;
if (!isFull) {//传的如果是false(年月日)->!isFull==true->年月日+" 00:00:00"就可以统一处理了
dtStr = dtStr + " 00:00:00";
}
localDateTime = LocalDateTime.parse(dtStr, dtfFull);
//localDateTime.年月日时分秒的方式去解析
return localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
}
//转化为时间戳
public static Long toTs(String dtStr) {
return toTs(dtStr, false);
}
//转化为日期(年月日)
public static String toDate(Long ts) {
Date dt = new Date(ts);
LocalDateTime localDateTime = LocalDateTime.ofInstant(dt.toInstant(), ZoneId.systemDefault());
return dtf.format(localDateTime);
}
//转化为年月日时分秒
public static String toYmdHms(Long ts) {
Date dt = new Date(ts);
LocalDateTime localDateTime = LocalDateTime.ofInstant(dt.toInstant(), ZoneId.systemDefault());
return dtfFull.format(localDateTime);
}
public static void main(String[] args) {
System.out.println(toYmdHms(System.currentTimeMillis()));
}
}
java之日期工具类
最新推荐文章于 2024-07-26 12:28:02 发布