Maison >Java >javaDidacticiel >Description des classes de date courantes en Java
Il existe trois classes de date couramment utilisées, la classe Date, la classe Calendar (calendrier) et la classe de conversion de format de date (DateFormat)
La plupart des méthodes de la classe Date sont obsolètes, et généralement seul le constructeur est méthode utilisée pour obtenir l’heure actuelle du système.
public class DateDemo { public static void main(String[] args) { Date date = new Date(); System.out.println(date); } }
Le résultat est l'heure actuelle du système : vendredi 10 mars 16:50:37 CST 2017
Nous pouvons voir que nous ne sommes pas habitués à ce format d'heure, nous affichons donc l'heure Le format de sortie doit être converti. À ce stade, nous devons utiliser la classe de conversion de format de date DateFormat.
public class FormatDemo { public static void main(String[] args) { Date d=new Date(); System.out.println(d); Format f=new SimpleDateFormat("yyyy-MM-dd hh-mm-ss"); String s=f.format(d); System.out.println(s); } }
L'heure de sortie à ce moment est : 2017-03-10 04-54-06
Cela semble très confortable.
Calendrier
La classe Calendar est une classe abstraite qui associe un moment spécifique à un ensemble de champs de calendrier tels que ANNÉE, MOIS, DAY_OF_MONTH , HOUR, etc. Des méthodes sont fournies pour convertir et manipuler les champs du calendrier (comme obtenir la date de la semaine prochaine).
Les champs du calendrier peuvent être modifiés à l'aide de trois méthodes : set(), add() et roll().
1, set(f, value) modifie le champ du calendrier f en valeur.
2, add(f, delta) ajoute delta au champ f.
3, roll(f, delta) ajoute delta au champ f, mais ne modifie pas le champ plus grand.
public class Test { public static void main(String[] args) { Calendar c=new GregorianCalendar(); c.set(Calendar.DAY_OF_MONTH,1); System.out.println("输出的是本月第一天"); System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号"); c.roll(Calendar.DAY_OF_MONTH,-1); System.out.println("输出的是本月最后一天"); System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号"); } }
Le résultat de sortie est :
La sortie est le premier jour de ce mois
Le 1er mars
La sortie est le dernier jour de ce mois Un jour
Le 31 mars
Lors du fonctionnement de la méthode Roll, après que le nombre de jours du premier jour soit décrémenté de un, il revient directement au dernier jour de ce mois. La date change dans un cycle au cours de ce mois. Le mois ne sera pas modifié, c'est-à-dire que les champs plus grands ne seront pas modifiés.
Comparez la méthode d'ajout :
public class Test { public static void main(String[] args) { Calendar c=new GregorianCalendar(); c.set(Calendar.DAY_OF_MONTH,1); System.out.println("输出的是本月第一天"); System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号"); c.add(Calendar.DAY_OF_MONTH,-1); System.out.println("输出的是上个月最后一天"); System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号"); } }
Le résultat de sortie est :
La sortie est le premier jour de ce mois
Le 1er mars
La sortie est le dernier jour de ce mois
Le 28 février
On peut voir qu'après en avoir soustrait un au 1er mars, le mois automatique passe automatiquement à février lune. C'est la différence entre la méthode roll et la méthode ad.
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!