首頁  >  文章  >  Java  >  java中將string轉為date的方法有哪些

java中將string轉為date的方法有哪些

青灯夜游
青灯夜游原創
2021-04-23 17:58:2769852瀏覽

轉換方法:1、使用SimpleDateFormat來格式化時間;2、使用「org.apache.commons.lang3.time.DateUtils」格式化時間;3、使用DateTimeFormatter來格式化時間。

java中將string轉為date的方法有哪些

本教學操作環境:windows7系統、java8版、DELL G3電腦。

String轉Date常見三種方式:SimpleDateFormat、org.apache.commons.lang3.time.DateUtils、DateTimeFormatter(Java 8)

描述執行緒不安全、文字比對靈活工具類別、支援日期運算DateTimeFormatter
   
#SimpleDateFormat

##DateUtils

執行緒安全性、配合LocalDateTime支援鍊式程式設計、方便比較運算


下面為範例程式碼

/**
     *     指定当前时间-指定时间是否大于30秒
     */
    
    //SimpleDateFormat
    private static void m1() throws ParseException {
        String endTime = "哈哈2020-02-07 18:58:02.0你好";//支持特殊格式转换
        String format = "哈哈yyyy-MM-dd HH:mm:ss";
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        Date edate = sdf.parse(endTime);
        Date now = new Date();
        String nowStr = DateFormatUtils.format(now, format);
        if(DateUtils.addSeconds(edate, 30).before((now))){
            logger.info("true endTime={} now={}",endTime, nowStr);
        }else{
            logger.info("false endTime={} now={}",endTime, nowStr);
        }
    }

    //DateUtils
    private static void m3() throws ParseException {
        String endTime = "2020-02-07 18:58:02.0";
        String format = "yyyy-MM-dd HH:mm:ss";
        Date edate = DateUtils.parseDate(endTime, format, "yyyy-MM-dd HH:mm:ss.SSS");//支持多格式匹配
        Date now = new Date();
        String nowStr = DateFormatUtils.format(now, format);
        if(DateUtils.addSeconds(edate, 30).before((now))){
            logger.info("true endTime={} now={}",endTime, nowStr);
        }else{
            logger.info("false endTime={} now={}",endTime, nowStr);
        }
    }

    //DateTimeFormatter
    private static void m2(){
        String endTime = "2020-02-07 18:58:02";
        String format = "yyyy-MM-dd HH:mm:ss";
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(format);
        String nowStr = now.format(dateTimeFormatter);
        if(LocalDateTime.parse(endTime, dateTimeFormatter)
                .plusSeconds(30).isBefore(LocalDateTime.now())){//链式编程
            logger.info("true endTime={} now={}",endTime, nowStr);
        }else{
            logger.info("false endTime={} now={}",endTime, nowStr);
        }
    }
相關影片教學推薦:Java影片教學

# ##

以上是java中將string轉為date的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn