Maison >Java >JavaBase >Quelles sont les méthodes pour convertir une chaîne en date en Java

Quelles sont les méthodes pour convertir une chaîne en date en Java

青灯夜游
青灯夜游original
2021-04-23 17:58:2769912parcourir

Méthode de conversion : 1. Utilisez SimpleDateFormat pour formater l'heure ; 2. Utilisez "org.apache.commons.lang3.time.DateUtils" pour formater l'heure ;

Quelles sont les méthodes pour convertir une chaîne en date en Java

L'environnement d'exploitation de ce tutoriel : système windows7, version java8, ordinateur DELL G3.

Il existe trois manières courantes de convertir une chaîne en date : SimpleDateFormat, org.apache.commons.lang3.time.DateUtils, DateTimeFormatter (Java 8)

Description
SimpleDateFormat Correspondance de texte flexible et non sécurisée
  描述
SimpleDateFormat 线程不安全、文本匹配灵活

DateUtils

工具类、支持日期运算
DateTimeFormatter

线程安全、配合LocalDateTime支持链式编程、方便比较运算

DateUtils

Classe d'outils, prend en charge les opérations de date
DateTimeFormatter
Thread- sûr, coopère avec LocalDateTime Prend en charge la programmation en chaîne et facilite les opérations de comparaison

Ce qui suit est l'exemple de code

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

Tutoriels vidéo recommandés :Tutoriel vidéo Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn