
Klasa java.sql.Date
Klasy java.sql.Date dziedziczy po klasie java.util.Date.
Podawane milisekundy liczone są jako czas, który upłynął od 1 stycznia 1970 roku godzina 00:00:00.000 strefy
czasowej GMT. Rok nie może być późniejszy niż rok 8099. Liczba ujemna
wskazuje czas liczony wstecz (przed podanym wyżej).
Konstruktory
Date(long date)
Data musi być podana w milisekundach. Godziny, minuty, sekundy muszą być wyzerowane na 00:00:00.000 danej strefy
czasowej.
package dt03.java_sql_Date;
import java.sql.*;
public class Listing005 {
public static void main(String[] args) {
long l = System.currentTimeMillis();
System.out.println("l: " + l);
Date now = new Date(l);
System.out.println("now: " + now);
}
}
l: 1538204391962 now: 2018-09-29
Metody
| Zwraca | Metoda | Opis |
|---|---|---|
void |
setTime(long Date) |
Ustawia datę na podaną liczbę milisekund |
Instant |
toInstant() |
Nie powinna być używana, ponieważ obiekt Instant zawiera komponent czasowy, natomiast dataSQL nie zawiera komponentu czasowego. Przy użyciu zostanie wyrzucony wyjątek UnsupportedOperation.
|
LocalDate |
toLocalDate() |
Przekształca obiekt Date w obiekt LocalDate. Ta klasa będzie omówiona później
|
String |
toString() |
Podaje datę jako string |
Date |
Date.valueOf(LocalDate date) |
Przekształca obiekt LocalDate w obiekt Date. |
Date |
Date.valueOf(String s) |
Przekształca string w obiekt Date. String musi zawierać rok w postaci czterocyfrowej yyyy,miesiąc w postaci liczby z zerem na początku lub bez, dzień w postaci liczby z zerem na początku lub bez, oddzielone myślnikami: yyyy-[m]m-[d]d |
package dt03.java_sql_Date;
import java.time.*;
import java.util.*;
public class Listing006 {
public static void main(String[] args) {
GregorianCalendar cal = new GregorianCalendar(1952, 6, 4);
long l = cal.getTimeInMillis();
System.out.println("l: " + l);
java.sql.Date now = new java.sql.Date(l);
now.setTime(System.currentTimeMillis());
System.out.println("now: " + now);
/** Wyrzuci wyjątek
Instant inst = now.toInstant();
System.out.println(inst);
*/
//-
LocalDate ld = now.toLocalDate();
System.out.println("ld: " + ld);
//-
String date = now.toString();
System.out.println("date: " + date);
java.sql.Date d1 = java.sql.Date.valueOf(ld);
System.out.println("dl: " + d1);
//-
java.sql.Date d2 = java.sql.Date.valueOf("1983-1-17");
System.out.println("d2: " + d2);
}
}
l: -552099600000 now: 2018-09-29 ld: 2018-09-29 date: 2018-09-29 dl: 2018-09-29 d2: 1983-01-17
