日期 JAVA8 LocalDateTime

LocalDateTime <=> String

//时间转字符串格式化
DateTimeFormatter df1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
String dateTime = LocalDateTime.now(ZoneOffset.of("+8")).format(df1);

//字符串转时间
String dateTimeStr = "2020-07-07 13:14:52.999";
DateTimeFormatter df2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr, df2);

 

  

LocalDateTime获取毫秒数

//获取秒数
Long second = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"));
//获取毫秒数
Long milliSecond = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();

 

 

 

String型日期从一种格式转换成另一种格式的String型日期

    /**
     * String型日期从一种格式转换成指定格式的String型日期   */
    public static String changeFormat(String strDate, String inputFormat, String outputFormat) throws ParseException {
        if (strDate == null || strDate.length() <= 0) {
            throw new IllegalArgumentException("invalid date = " + strDate);
        }
        DateTimeFormatter inDTF = DateTimeFormatter.ofPattern(inputFormat);
        DateTimeFormatter outDTF = DateTimeFormatter.ofPattern(outputFormat);
        
        LocalDateTime ldt = LocalDateTime.parse(strDate, inDTF);
        return outDTF.format(ldt);
    }

 


 

JDK8以前

 

    @Test
    public void testDate() {
        /** "yyyy-MM-dd HH:mm:ss.S" */
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
        /** GET system DateTime */
        String sysDate = sdf.format(new Timestamp(System.currentTimeMillis()));

        String year = "2021";
        String month = "3";
        String day = "5";
        String hour = "15";
        String minute = "50";
        String second = "20";
        int millisecond = 996;

        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR, Integer.parseInt(year));
        calendar.set(Calendar.MONTH, Integer.parseInt(month) - 1); /* month start as 0 */
        calendar.set(Calendar.DATE, Integer.parseInt(day));
        calendar.set(Calendar.HOUR_OF_DAY, Integer.parseInt(hour));
        calendar.set(Calendar.MINUTE, Integer.parseInt(minute));
        calendar.set(Calendar.SECOND, Integer.parseInt(second));
        calendar.set(Calendar.MILLISECOND, millisecond);
        Date returnDate = calendar.getTime();

        String strDate = sdf.format(new Timestamp(returnDate.getTime()));

        System.out.println("sysDate [" + sysDate);
        System.out.println("strDate [" + strDate);
    }

 

 

  

 

posted @ 2020-06-24 17:20  BORS  阅读(279)  评论(0编辑  收藏  举报
bors