Zielony Smok - logo witryny

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

Metody klasy java.sql.Timestamp
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 java.util.Date w tym stemplu czasowym nie uwzględniając nanosekund.

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 XOR co sprowadza wartość wynikającą do 32 bitów: (int)(this.getTime()^(this.getTime()>>>32))

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