
Klasa java.sql.Timestamp
Klasa Timestamp do obiektu java.util.Date dodaje nanosekundy. Całe sekundy przechowywane są w obiekcie java.util.Date. Nanosekundy przechowywane są oddzielnie.
Konstruktory
Czas podany jako long jest czasem od 1 stycznia 1970 r. 00:00:00 GMT. Ujemne odliczają czas przed tym momentem.
Timestamp(long time)
package dt05.java_sql_timestamp;
import java.sql.*;
import java.util.*;
public class Listing009 {
public static void main(String[] args) {
GregorianCalendar cal = new GregorianCalendar(1952, 5, 4);
long l = cal.getTimeInMillis();
System.out.println("l: " + l);
Timestamp stamp = new Timestamp(l);
System.out.println("stamp: " + stamp);
}
}
l: -554691600000 stamp: 1952-06-04 00:00:00.0
Metody
| Zwraca | Metoda | Opis | Listing |
|---|---|---|---|
boolean |
after (Timestamp ts) |
Sprawdza czy ten Timestamp przypada po ts czy nie |
010 |
boolean |
before(Timestamp ts) |
Sprawdza czy ten Timestamp przypada przed ts czy nie |
|
int |
compareTo(java.util.Date) |
Porównuje obiekt Date w tym stemplu czasowym z podaną datą. Zwraca jeden jeśli ta data jest większa, 0 jeśli są równe, -1 jeśli ta data jest mniejsza |
011 |
int |
compareTo(Timestamp ts) |
Porównuje ten stempel czasowy z podanym. Zwraca jeden jeśli ten jest większy, 0 jeśli są równe, -1 jeśli ten jest mniejszy. | |
boolean |
equals(Object ts) |
Sprawdza czy ten stempel czasowy równa się podanemu obiektowi. Jeśli ts nie jest obiektem klasy Timestamp metoda zawsze zwróci false – inne obiekty nie posiadają nanosekund do porównania |
012 |
| boolean | equals(Timestamp ts) |
Sprawdza czy ten stempel czasowy równa się podanemu stemplowi czasowemu. | |
Timestamp |
Timestamp.from(Instant instant) |
Przekształca obiekt Instant w Timestamp. Gdy Instant obejmuje szerszy odstęp w czasie zostanie wyrzucony wyjątek. |
013 |
Instant |
toInstant() |
Przekształca ten stempel czasowy w obiekt Instant |
|
int |
getNanos() |
Zwraca nanoseksundy | 014 |
void |
setNanos(int n) |
Dodaje nanosekundy do czasu | |
long |
getTime() |
Podaje czas w milisekundach | 015 |
void |
setTime(long time) |
Ustawia czas na podany | |
int |
hashCode() |
Oblicza kod mieszający dla obiektu Oblicza kod mieszający dla tej daty. Z 64-bitowego longa pobierana jest prawa połowa bitów. Następnie wykonywana jest operacja alternatywy wykluczającej |
– |
LocalDateTime |
toLocalDateTime() |
Przekształca ten stempel czasowy w obiekt LocalDateTime (lokalna data i czas w lokalnej strefie czasowej) |
016 |
Timestamp |
Timestamp.valueOf(LocalDateTime dateTime) |
Podany obiekt LocalDateTime (lokalna data i czas w lokalnej strefie czasowej) przekształca w Timestamp |
|
String |
toString() |
Zwraca obiekt Timestamp jako String w postaci „yyyy-[m]m-[d]d hh:mm:ss.fffffffff”, f oznacza cyfry nanosekund. |
017 |
Timestamp |
Timestamp.valueOf(String s) |
Zamienia czas podany jako łańcuch znaków na obiekt Timestamp. Łańcuch znaków musi być podany w formie: „yyyy-[m]m-[d]d hh:mm:ss[.f...]”. Frakcja nanosekund może być pominięta. |
package dt05.java_sql_timestamp;
import java.sql.*;
import java.util.*;
public class Listing010 {
public static void main(String[] args) {
GregorianCalendar cal1 = new GregorianCalendar(1952, 5, 4);
long l1 = cal1.getTimeInMillis();
Timestamp stamp1 = new Timestamp(l1);
System.out.println("stamp1: " + stamp1);
GregorianCalendar cal2 = new GregorianCalendar();
long l2 = cal2.getTimeInMillis();
Timestamp stamp2 = new Timestamp(l2);
System.out.println("stamp2: " + stamp2);
boolean b1 = stamp1.after(stamp2);
System.out.println("bl: " + b1);
boolean b2 = stamp1.before(stamp2);
System.out.println("b2: " + b2);
}
}
stamp1: 1952-06-04 00:00:00.0 stamp2: 2018-10-01 15:09:55.366 bl: false b2: true
package dt05.java_sql_timestamp;
import java.sql.*;
import java.util.*;
public class Listing011 {
public static void main(String[] args) {
GregorianCalendar cal1 = new GregorianCalendar(1952, 5, 4);
long t1 = cal1.getTimeInMillis();
java.util.Date date1 = new java.util.Date(t1);
Timestamp stamp1 = new Timestamp(t1);
System.out.println("stamp1: " + stamp1);
//-
GregorianCalendar cal2 = new GregorianCalendar();
long t2 = cal2.getTimeInMillis();
Timestamp stamp2 = new Timestamp(t2);
System.out.println("stamp2: " + stamp2);
//-
int comp1 = stamp2.compareTo(date1);
System.out.println("comp1: " + comp1);
//-
int comp2 = stamp2.compareTo(stamp1);
System.out.println("comp2: " + comp2);
}
}
stamp1: 1952-06-04 00:00:00.0 stamp2: 2018-10-01 15:10:53.176 comp1: 1 comp2: 1
package dt05.java_sql_timestamp;
import java.sql.*;
import java.util.*;
public class Listing012 {
public static void main(String[] args) {
GregorianCalendar cal1 = new GregorianCalendar(1952, 5, 4);
long t1 = cal1.getTimeInMillis();
java.util.Date date1 = new java.util.Date(t1);
Timestamp stamp1 = new Timestamp(t1);
System.out.println("stamp1: " + stamp1);
//-
GregorianCalendar cal2 = new GregorianCalendar();
long t2 = cal2.getTimeInMillis();
Timestamp stamp2 = new Timestamp(t2);
System.out.println("stamp2: " + stamp2);
//-
boolean comp1 = stamp2.equals(date1);
System.out.println("comp1: " + comp1);
//-
boolean comp2 = stamp2.equals(stamp1);
System.out.println("comp2: " + comp2);
}
}
stamp1: 1952-06-04 00:00:00.0 stamp2: 2018-10-01 15:11:47.001 comp1: false comp2: false
package dt05.java_sql_timestamp;
import java.sql.*;
import java.time.*;
public class Listing013 {
public static void main(String[] args) {
Instant i1 = Instant.now();
System.out.println("il: " + i1);
//-
Timestamp stamp = Timestamp.from(i1);
System.out.println("stamp: " + stamp);
//-
Instant i2 = stamp.toInstant();
System.out.println("i2: " + i2);
}
}
il: 2018-10-01T13:12:37.170815100Z stamp: 2018-10-01 15:12:37.1708151 i2: 2018-10-01T13:12:37.170815100Z
package dt05.java_sql_timestamp;
import java.sql.*;
import java.time.*;
public class Listing014 {
public static void main(String[] args) {
Instant i1 = Instant.now();
System.out.println("i1: " + i1);
//-
Timestamp stamp = Timestamp.from(i1);
System.out.println("stamp: " + stamp);
//
stamp.setNanos(123456789);
System.out.println("stamp: " + stamp);
//
int nanos = stamp.getNanos();
System.out.println(" nanos: " + nanos);
}
}
i1: 2018-10-01T13:13:48.363944800Z stamp: 2018-10-01 15:13:48.3639448 stamp: 2018-10-01 15:13:48.123456789 nanos: 123456789
package dt05.java_sql_timestamp;
import java.sql.*;
import java.time.*;
public class Listing015 {
public static void main(String[] args) {
Instant i1 = Instant.now();
System.out.println("il: " + i1);
//-
Timestamp stamp = Timestamp.from(i1);
System.out.println("stamp: " + stamp);
//
stamp.setTime(1234567891011L);
System.out.println("stamp: " + stamp);
//
long time = stamp.getTime();
System.out.println("time: " + time);
//
}
}
il: 2018-10-01T13:15:16.108877900Z stamp: 2018-10-01 15:15:16.1088779 stamp: 2009-02-14 00:31:31.011 time: 1234567891011
package dt05.java_sql_timestamp;
import java.sql.*;
import java.time.*;
public class Listing016 {
public static void main(String[] args) {
long l = System.currentTimeMillis();
System.out.println("l: " + l);
//
Timestamp now = new Timestamp(l);
System.out.println("now: " + now);
//
LocalDateTime ldt = now.toLocalDateTime();
System.out.println("now: " + now);
//
Timestamp now2 = Timestamp.valueOf(ldt);
System.out.println("now: " + now2);
}
}
now: 2018-10-01 15:18:53.991 now: 2018-10-01 15:18:53.991 now: 2018-10-01 15:18:53.991
package dt05.java_sql_timestamp;
import java.sql.*;
public class Listing017 {
public static void main(String[] args) {
long l = System.currentTimeMillis();
System.out.println("l: " + l);
//
Timestamp now = new Timestamp(l);
String nows = now.toString();
System.out.println("nows: " + nows);
//
Timestamp now2 = Timestamp.valueOf(nows);
System.out.println("now2: " + now2);
}
}
l: 1538399993726 nows: 2018-10-01 15:19:53.726 now2: 2018-10-01 15:19:53.726
