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


