Java Dato og klokkeslett
La oss først forstå parametrene som består av en Dato.
Den vil primært inneholde -
- Ocuco år (med enten 2 eller 4 sifre)
- Ocuco måned (med enten 2 sifre, de tre første bokstavene i måneden eller hele månedens ord).
- Ocuco data (det vil være den faktiske datoen i måneden).
- Ocuco dag (dagen på den gitte datoen – som søn, man, tirsdag osv.)
Når det gjelder datasystemer, er det ganske mange parametere som kan brukes til å knytte til en dato. Vi skal se dem i de senere delene av dette emnet.
Vis dato i Java
La oss nå se hvordan Java gi oss datoen. Først skal vi se hvordan du får den nåværende datoen-
Java gir en Date-klasse under java.util-pakken, Pakken gir flere metoder for å leke med datoen.
Du kan bruke Date-objektet ved å starte konstruktøren av Date-klassen som følger:
import java.util.Date;
class Date_Ex1 {
public static void main(String args[]) {
// Instantiate a Date object by invoking its constructor
Date objDate = new Date();
// Display the Date & Time using toString()
System.out.println(objDate.toString());
}
}
Utgang:
Wed Nov 29 06:36:22 UTC 2017
I eksempelet ovenfor vises dato i standardformat, hvis vi ønsker å vise dato og klokkeslett i et annet format, må du først forstå formateringen av dato.
SimpleDateFormat: Parse og formater datoer
Dere må alle ha lært alfabetene i barnehagen deres...
La oss nå lære ABC-ene for datoformatet.
| Brev | Dato- eller tidskomponent | Eksempler |
|---|---|---|
| G | Epoke betegner | AD |
| y | År | 2018 |
| M | Måned i år | juli eller juli eller 07 |
| w | Uke i år | 27 |
| W | Uke i måned | 2 |
| D | Dag i år | 189 |
| d | Dag i måned | 10 |
| F | ukedag i måned | 2 |
| E | Dagens navn i uken | tirsdag eller tirs |
| u | Dagnummer i uken (1 = Monday, …, 7 = søndag) | 1 |
| a | Am/pm markør | PM |
| H | Time i døgnet (0-23) | 0 |
| k | Time i døgnet (1-24) | 24 |
| K | Time i am/pm (0-11) | 0 |
| h | Time i am/pm (1-12) | 12 |
| m | Minutt i time | 30 |
| s | Andre på minuttet | 55 |
| S | millisekund | 978 |
| z | tidssone | Pacific Standard Time; PST; GMT-08:00 |
| Z | tidssone | -0800 |
| X | tidssone | -08 eller -0800 eller -08:00 |
Ikke bekymre deg, du trenger ikke å huske alle disse, de kan henvises når som helst du trenger å formatere en bestemt dato.
Hvordan bruker jeg SimpleDateFormat?
Java gir en klasse kalt SimpleDateFormat som lar deg formatere og analysere datoer i henhold til dine krav.
Du kan bruke tegnene ovenfor for å spesifisere format-
For eksempel:
1) Datoformat påkrevd: 2012.10.23 20:20:45 PST
Det riktige datoformatet som er spesifisert vil være- åååå.MM.dd TT:mm:ss zzz
2) Datoformat påkrevd:09:30:00 AM 23-May-2012
Det riktige datoformatet som er spesifisert vil være-tt:mm:ss en dd-MMM-åååå
Tips: Vær forsiktig med store bokstaver. Hvis du feiler M med m, vil du få uønskede resultater!
La oss lære dette med et kodeeksempel.
import java.text.SimpleDateFormat;
import java.util.Date;
class TestDates_Format {
public static void main(String args[]) {
Date objDate = new Date(); // Current System Date and time is assigned to objDate
System.out.println(objDate);
String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is Specified
SimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format object
System.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date
}
}
Utgang:
Wed Nov 29 06:31:41 UTC 2017 06:31:41 AM 29-Nov-2017
Sammenlign Datoer Eksempel
Den mest nyttige metoden for å sammenligne datoer er å bruke metoden – compareTo()
La oss ta en titt på kodebiten nedenfor-
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
class TestDates_Compare {
public static void main(String args[]) throws ParseException {
SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy");
Date dt_1 = objSDF.parse("20-08-1981");
Date dt_2 = objSDF.parse("12-10-2012");
System.out.println("Date1 : " + objSDF.format(dt_1));
System.out.println("Date2 : " + objSDF.format(dt_2));
if (dt_1.compareTo(dt_2) > 0) {
System.out.println("Date 1 occurs after Date 2");
} // compareTo method returns the value greater than 0 if this Date is after the Date argument.
else if (dt_1.compareTo(dt_2) < 0) {
System.out.println("Date 1 occurs before Date 2");
} // compareTo method returns the value less than 0 if this Date is before the Date argument;
else if (dt_1.compareTo(dt_2) == 0) {
System.out.println("Both are same dates");
} // compareTo method returns the value 0 if the argument Date is equal to the second Date;
else {
System.out.println("You seem to be a time traveller !!");
}
}
}
Utgang:
Date1 : 20-08-1981 Date2 : 12-10-2012 Date 1 occurs before Date 2


