日期格式的使用DateTimeFormatter与LocalDateTime

日期格式的使用DateTimeFormatter与LocalDateTime

public static void main(String[] args) {
    String time1 = "2019-02-07 07:43:53";
    String time2 = "20190207074353";
    //时间
    //字符串转化
    DateTimeFormatter formater1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    DateTimeFormatter formater2 = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
    LocalDateTime timeDate1, timeDate2;
    //将指定格式的字符串转化为LocalDateTime
    timeDate1 = LocalDateTime.parse(time1, formater1);
    timeDate2 = LocalDateTime.parse(time2, formater2);
    //字符串格式1转日期==2019-02-07T07:43:53
    System.out.println("字符串格式1转日期==" + timeDate1);
    //字符串格式2转日期==2019-02-07T07:43:53
    System.out.println("字符串格式2转日期==" + timeDate2);
    //LocalDateTime=LocalDate+LocalTime
    LocalDate localDate = timeDate1.toLocalDate();
    LocalTime localTime = timeDate1.toLocalTime();
    //startdate年月日===2019-02-07
    System.out.println("startdate年月日===" + timeDate1.toLocalDate());
    //startdate时分秒===07:43:53
    System.out.println("startdate时分秒===" + timeDate1.toLocalTime());


    //MM 02月02日  M  2月2日
    DateTimeFormatter yearFormater = DateTimeFormatter.ofPattern("yyyy-M-d");
    DateTimeFormatter millFormater = DateTimeFormatter.ofPattern("HH:mm");
    //将日期按照指定格式  进行格式化
    String yearFor = localDate.format(yearFormater);
    String millFor = localTime.format(millFormater);
    //格式化日期2019-2-7===2019-2-7
    System.out.println("格式化日期2019-2-7===" + yearFor);
    //格式化日期07:43===07:43
    System.out.println("格式化日期07:43===" + millFor);
}

//2022-01-16更新
public static void main(String[] args) throws ParseException {
//1.字符串强转日期 日期格式化字符串
String str = "2019-01-11 10:07:09";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat formatter2 = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = formatter.parse(str);
String dateStr = formatter2.format(date);
//=20190111100709
System.out.println("格式化后的日期格式
=" + dateStr);

//2.获取系统当前日期
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
Date time = Calendar.getInstance().getTime();// get current instance of the calendar
//currentSun Jan 16 16:32:36 CST 2022 一般都需要格式化
System.out.println("current1
" + time);
System.out.println("current2" + now);
//格式化
20220116164036
System.out.println("currentFormat1" + formatter2.format(time));
//格式化
2022-01-16 16:37:05
System.out.println("currentFormat2==" + now.format(dateTimeFormatter2));

//3.计算相差分钟
String starttime = "20211229174229";

LocalDateTime startDate = LocalDateTime.parse(starttime, dateTimeFormatter);
long minutes = Duration.between(startDate, LocalDateTime.now()).toMinutes();
if (minutes > 60) {
System.out.println("相差分钟===" + minutes);
}
//4.计算相差天数--通用

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 自定义时间格式
String a = "2021-1-1";
String b = "2021-3-1";
Calendar calendar_a = Calendar.getInstance(); // 获取日历对象
Calendar calendar_b = Calendar.getInstance();
try {
Date date_a = simpleDateFormat.parse(a); // 字符串转Date
Date date_b = simpleDateFormat.parse(b);
calendar_a.setTime(date_a); // 设置日历
calendar_b.setTime(date_b);
} catch (ParseException e) { // 格式化异常
e.printStackTrace();
}
long time_a = calendar_a.getTimeInMillis();
long time_b = calendar_b.getTimeInMillis();
// 计算相差天数
long dayInter = (time_b - time_a) / (1000 * 3600 * 24);
System.out.println("计算相差天数==" + dayInter);

//5.日期之间的比较
//now>startDate 返回1 now=startDate 返回0 now<startDate 返回-1
int flag = LocalDateTime.now().compareTo(startDate);
}

posted @ 2021-10-31 21:28  码农公子的幸福生活  阅读(440)  评论(0)    收藏  举报