java.util.Date 就是在除了SQL語句的情況下麵使用 java.sql.Date 是針對SQL語句使用的,它只包含日期而沒有時間部分 直接說就是:java.sql.Date就是與資料庫Date相對應的一個類型,而java.util.Date是純java的Date 它都有getTime方法 ...
- Java.sql.Date,
- java.sql.Time
- java.sql.Timestamp
- 上面都java.util.Date的子類(包裝類)
java.util.Date 就是在除了SQL語句的情況下麵使用
java.sql.Date 是針對SQL語句使用的,它只包含日期而沒有時間部分
直接說就是:java.sql.Date就是與資料庫Date相對應的一個類型,而java.util.Date是純java的Date
它都有getTime方法返回毫秒數,自然就可以直接構建
java.util.Date d = new java.util.Date(sqlDate.getTime());
java.util.Date 是 java.sql.Date 的父類(註意拼寫)
前者是常用的表示時間的類,我們通常格式化或者得到當前時間都是用他。
在讀寫資料庫的時候用後者,因為PreparedStament的setDate()的第2參數和ResultSet的getDate()方法的第2個參數都是java.sql.Date
轉換是
java.sql.Date date = new Java.sql.Date();
java.util.Date sqlDate = new java.util.Date (date.getTime());
反過來是一樣的。
java.sql.Date 只能存儲日期,不能存儲時間。
所有時間日期都可以被SimpleDateFormat格式化format()
SimpleDateFormat f = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
java.util.Date utilDate = new Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
java.sql.Time sTime = new java.sql.Time(utilDate.getTime());
java.sql.Timestamp stp = new java.sql.Timestamp(utilDate.getTime());
f.format(stp);
f.format(sTime);
f.format(sqlDate);
f.format(utilDate)
java.sql.Date sqlDate = java.sql.Date.valueOf(“2005-12-12”);
另類取得年月日的方法:
import java.text.SimpleDateFormat;
import java.util.*;
java.util.Date date = new java.util.Date();
//如果希望得到YYYYMMDD的格式
SimpleDateFormat sy1=new SimpleDateFormat(“yyyyMMDD”);
String dateFormat=sy1.format(date);
//如果希望分開得到年,月,日
SimpleDateFormat sy=new SimpleDateFormat("yyyy");
SimpleDateFormat sm=new SimpleDateFormat("MM");
SimpleDateFormat sd=new SimpleDateFormat("dd");
String syear=sy.format(date);
String smon=sm.format(date);
String sday=sd.format(date);