Heim  >  Artikel  >  Java  >  Welche Methoden gibt es, um eine Zeichenfolge in Java in ein Datum zu konvertieren?

Welche Methoden gibt es, um eine Zeichenfolge in Java in ein Datum zu konvertieren?

青灯夜游
青灯夜游Original
2021-04-23 17:58:2769862Durchsuche

Konvertierungsmethode: 1. Verwenden Sie SimpleDateFormat, um die Zeit zu formatieren. 2. Verwenden Sie „org.apache.commons.lang3.time.DateUtils“, um die Zeit zu formatieren. 3. Verwenden Sie DateTimeFormatter, um die Zeit zu formatieren.

Welche Methoden gibt es, um eine Zeichenfolge in Java in ein Datum zu konvertieren?

Die Betriebsumgebung dieses Tutorials: Windows7-System, Java8-Version, DELL G3-Computer.

Es gibt drei gängige Möglichkeiten, String in Date zu konvertieren: SimpleDateFormat, org.apache.commons.lang3.time.DateUtils, DateTimeFormatter (Java 8)

.
Description
SimpleDateFormatThread unsicherer, flexibler Textabgleich

DateUtils

Werkzeugklasse, unterstützt Datumsoperationen
DateTimeFormatter

Thread-Sicherheit, unterstützt Kettenprogrammierung mit LocalDateTime und erleichtert Vergleichsoperationen

Das Folgende ist der Beispielcode

/**
     *     指定当前时间-指定时间是否大于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);
        }
    }

Empfohlene verwandte Video-Tutorials: Java-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es, um eine Zeichenfolge in Java in ein Datum zu konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn