Résumé d'apprentissage Java: 36 (classe de traitement des dates)

Traitement de la date

Classe de date

Méthodes courantes de la classe Date

Non. La méthode Tapez La description
1 Date publique () La structure Instancier des objets de classe Date
2 Date publique (date longue) La structure Transformez les nombres en objets de classe Date, les données de date et d'heure sont longues
3 public long getTime () Ordinaire Modifier la date et l'heure actuelles sur Long

Exemple: obtenir la date et l'heure actuelles

package Project.Study.DateClass;

import java.util.Date;

public class Test1 {
    public static void main(String[]args){
        Date date=new Date();		//实例化Date对象
        System.out.println(date);	//输出对象信息
    }
}
//结果:
//Wed Apr 01 20:09:49 CST 2020

Vous avez peut-être remarqué que la date produite par le programme ci-dessus n'est pas formatée et semble très tordue. Le format de la date doit utiliser la classe SimpleDateFormat, dont nous parlerons plus tard.

Exemple: conversion entre date et long

package Project.Study.DateClass;

import java.util.Date;

public class Test2 {
    public static void main(String[]args){
        long cur=System.currentTimeMillis();	//取得当前日期时间以long型返回
        Date date=new Date(cur);				//将long型转化为Date
        System.out.println(date);				//输出对象信息
        System.out.println(date.getTime());
    }
}
//结果:
//Wed Apr 01 20:16:22 CST 2020
//1585743382666

Formatage de la date: SimpleDateFormat

Non. La méthode Tapez La description
1 public SimpleDateFormat (modèle de chaîne) La structure Passer la date et l'heure pour instancier l'objet
2 format de chaîne final public (date date) Ordinaire Mettre en forme la date sous forme de données de chaîne
3 public Date parse (String source) lève ParseException Ordinaire Formater la chaîne en tant que données de date

Exemple: formater la date et afficher (les données de type date deviennent des données de type chaîne)

package Project.Study.SimpleDateFormatClass;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test1 {
    public static void main(String[]args){
        Date date=new Date();           //实例化Date类对象
        //实例化SimpleDateFormat类对象,同时定义好要转换的目标字符串格式
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        String str=sdf.format(date);    //将Date型变为String型
        System.out.println(str);
    }
}
//结果:
//2020-04-01 23:57:56.166

Remarque: aaaa-MM-jj HH: mm: ss.SSS correspond à (année-mois-jour heure: minute: seconde.ms), ce sont des horodatages couramment utilisés.

Exemple: convertir une chaîne en date

package Project.Study.SimpleDateFormatClass;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test2 {
    public static void main(String[]args) throws ParseException {
        String str="2020-04-01 23:57:56.166";			//日期字符串
        //实例化SimpleDateFormat类对象,同时定义好了要转换的字符串格式
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        Date date=sdf.parse(str);						//将字符串变为日期型数据
        System.out.println(date);
    }
}
//结果:
//Wed Apr 01 23:57:56 CST 2020

La classe SimpleDateFormat a en fait l'avantage de pouvoir gérer automatiquement le mauvais nombre de dates et d'heures . Par exemple: si le nombre de mois défini est de 15, il augmentera automatiquement d'un an et deviendra 3 mois.

Exemple: observer la correction automatique de SimpleDateFormat

package Project.Study.SimpleDateFormatClass;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test3 {
    public static void main(String[]args) throws ParseException {
        String str="2020-15-65 23:57:56.166";	//定义一个错误的日期字符串
        //实例化SimpleDateFormat类对象,同时定义好了要转换的字符串格式
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        Date date=sdf.parse(str);				//将字符串变为日期型数据
        System.out.println(date);
    }
}
//结果:
//Tue May 04 23:57:56 CST 2021

Comme vous pouvez le voir dans le programme ci-dessus, bien que nous ayons défini une chaîne de date incorrecte, la classe SimpleDateFormat effectue automatiquement le traitement de report.

Classe de calendrier

Constantes et méthodes définies dans la classe Calendar

Non. La méthode Tapez La description
1 public static final int YEAR Constante Obtenir l'année, le type int
2 public static final int MONTH Constante Obtenir le mois, type int
3 final statique public int DAY_OF_MONTH Constante Obtenir jour, type int
4 final statique public int HOUR_OF_DAY Constante Obtenir l'heure (horloge 24 heures), type int
5 public static final int MINUTE Constante Obtenir des points, type int
6 public static final int SECOND Constante Obtenir les secondes, type int
7 public static final int MILLISECOND Constante Obtenir des millisecondes, type int
8 Calendrier statique public getInstance () Ordinaire Instancier des objets selon le fuseau horaire par défaut
9 public boolean after (Object when) Ordinaire Déterminer si une date est postérieure à une date spécifiée
dix public boolean before (Object when) Ordinaire Déterminer si une date est antérieure à la date spécifiée
11 public int get (champ int) Ordinaire Renvoie la valeur du champ de calendrier donné

Exemple: obtenir la date et l'heure actuelles

package Project.Study.CalendarClass;

import java.util.Calendar;

public class Test1 {
    public static void main(String[]args){
        Calendar cal=Calendar.getInstance();	//取得本类对象
        StringBuffer buf=new StringBuffer();	//保存日期数据
        buf.append(cal.get(Calendar.YEAR)).append("-");			//取得年数据
        buf.append(cal.get(Calendar.MONTH)+1).append("-");		//取得月数据,从0开始
        buf.append(cal.get(Calendar.DAY_OF_MONTH)).append(" ");	//取得天数据
        buf.append(cal.get(Calendar.HOUR_OF_DAY)).append(":");	//取得小时数据
        buf.append(cal.get(Calendar.MINUTE)).append(":");		//取得分钟数据
        buf.append(cal.get(Calendar.SECOND));					//取得秒数据
        System.out.println(buf);
    }
}
//结果:
//2020-4-2 1:11:34

À partir du programme ci-dessus, nous pouvons constater que le contenu obtenu par la classe Calendar ne mène pas à 0, c'est-à-dire que si le mois en cours est avril, le retour n'est pas "04" mais "4".

Remarque: Étant donné que le mois de la classe Calendar commence à 0, chaque fois que le mois est calculé, une opération "+1" doit être effectuée.

La classe Calendar peut également effectuer des calculs de date simples
Exemple: obtenir la date après cinq jours

package Project.Study.CalendarClass;

import java.util.Calendar;

public class Test2 {
    public static void main(String[]args){
        Calendar cal=Calendar.getInstance();
        StringBuffer buf=new StringBuffer();
        buf.append(cal.get(Calendar.YEAR)).append("-");
        buf.append(cal.get(Calendar.MONTH)+1).append("-");
        buf.append(cal.get(Calendar.DAY_OF_MONTH)+5).append(" ");
        buf.append(cal.get(Calendar.HOUR_OF_DAY)).append(":");
        buf.append(cal.get(Calendar.MINUTE)).append(":");
        buf.append(cal.get(Calendar.SECOND));
        System.out.println(buf);
    }
}
//结果:
//2020-4-7 1:21:56

Remarque: La classe Calendar n'a pas la fonction de report automatique de la classe SimpleDateFormat.
Exemple: démonstration d'erreur

package Project.Study.CalendarClass;

import java.util.Calendar;

public class Test2 {
    public static void main(String[]args){
        Calendar cal=Calendar.getInstance();
        StringBuffer buf=new StringBuffer();
        buf.append(cal.get(Calendar.YEAR)).append("-");
        buf.append(cal.get(Calendar.MONTH)+1).append("-");
        buf.append(cal.get(Calendar.DAY_OF_MONTH)+33).append(" ");
        buf.append(cal.get(Calendar.HOUR_OF_DAY)).append(":");
        buf.append(cal.get(Calendar.MINUTE)).append(":");
        buf.append(cal.get(Calendar.SECOND));
        System.out.println(buf);
    }
}
//结果:
//2020-4-35 1:30:11(一个月不会有35天的...)
49 articles originaux publiés · A aimé 25 · Visites 1510

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45784666/article/details/105254245
conseillé
Classement