Java中用來紀錄時間資訊的類別為java.sql.Time
,其與java.sql.Timestamp
的差異如下。
相同的是兩者皆繼承java.util.Date
java.sql.Time
僅記錄時間資訊,也就是時,分,秒。
java.sql.Timestamp
記錄了日期及時間資訊,也就是年,月,日,時,分,秒,毫秒
請見下面範例。
Time time1 = Time.valueOf("13:00:00");
System.out.println(time1.toString()); // 13:00:00
Timestamp timestamp1 = new Timestamp(time1.getTime());
System.out.println(timestamp1.toString()); // 1970-01-01 13:00:00.0
Timestamp timestamp2 = new Timestamp(System.currentTimeMillis()); // 取得系統時間
System.out.println(timestamp2.toString()); // 2018-07-22 12:04:18.694
Time time2 = new Time(timestamp2.getTime());
System.out.println(time2.toString()); // 12:04:18
Timestamp timestamp3 = new Timestamp(time2.getTime());
System.out.println(timestamp3.toString()); // 2018-07-22 12:04:18.694
從上面範例可以看到java.sql.Time
仍是有保留日期訊息的,只是被隱藏起來而已。
若java.sql.Time
都沒設定日期資訊,則預設為1970-01-01
。
沒有留言:
張貼留言