天天看點

JAVA JDK1.8時間函數,LocalDate,LocalDateTime,LocalTime,Instant函數以及轉化

整理一下java1.8常用日期函數

  1. 時間戳轉化,時間類型轉化
//時間戳轉化為日期格式  String類型接收
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String a = sf.format(new Date(Long.valueOf("1574928390000")));
        System.out.println(a);

        //時間戳轉化為日期格式  LocalDate類型接收
        LocalDate b = LocalDate.parse(DateUtil.getDateByTime(DateUtil.DATE_PATTERN_SIMPLE,
                1574928390), DateTimeFormatter.ofPattern("yyyy-MM-dd"));
        System.out.println(b);
        
		//String日期格式轉化為LocalDate
		LocalDate c = LocalDate.parse("2020-03-03");

		//String時間轉為LocalTime
		String time = "09:00:00";
        System.out.println(LocalTime.parse(time, DateTimeFormatter.ofPattern("HH:mm:ss")));
	
		//LocalDateTime 轉LocalTime
		LocalDateTime.now().toLocalTime();
		
		//localdateTime轉時間戳
		LocalDateTime.now().plusDays(-7).toEpochSecond(ZoneOffset.of("+8"))
		//時間戳轉LocalDateTime
		LocalDateTime.ofEpochSecond(listRedPacketDrawDO.getSendTime(), 0, ZoneOffset.ofHours(8)).toString()
           
  1. 擷取目前時間
//時間戳,機關/s
        System.out.println(Instant.now().getEpochSecond());
        //時間戳 機關/ms
        System.out.println(Instant.now().toEpochMilli());
        //yyyy-MM-dd HH:mm:ss
        System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
           
  1. 擷取目前日期
//yyyyMMdd
        System.out.println(LocalDate.now().format(DateTimeFormatter.BASIC_ISO_DATE));
        //yyyy-MM-dd
        System.out.println(LocalDate.now());
           
  1. 單獨擷取目前年,月,日,時間
//擷取年
        System.out.println(LocalDate.now().getYear());
        //目前為一年中的第幾天
        System.out.println(LocalDate.now().getDayOfYear());


        //擷取月份(英文月份名)
        System.out.println(LocalDate.now().getMonth());
        //擷取月份(數字)
        System.out.println(LocalDate.now().getMonth().getValue());


        //目前為一月中的第幾天
        System.out.println(LocalDate.now().getDayOfMonth());

        //小時
        System.out.println(LocalDateTime.now().getHour());

        //分鐘
        System.out.println(LocalDateTime.now().getMinute());

        //秒
        System.out.println(LocalDateTime.now().getSecond());
           
  1. 擷取間隔日期
//昨日日期
        System.out.println(LocalDate.now().plusDays(-1));

        //10天後的日期
        System.out.println(LocalDate.now().plusDays(10));

        //一周前
        System.out.println(LocalDate.now().plusWeeks(-1));

        //一個月前
        System.out.println(LocalDate.now().plusMonths(-1));

        //一年前
        System.out.println(LocalDate.now().plusYears(-1));
           
  1. 計算兩個日期之間的天數,月份,年份差
//日期差
        System.out.println(Period.between(LocalDate.now().plusDays(-5), LocalDate.now()).getDays());

        //月份差
        System.out.println(Period.between(LocalDate.now().plusDays(-5), LocalDate.now()).getMonths());