java.sql.Date,java.sql.Time和java.sql.Timestamp什么区别 java 中的Date和Timestamp的区别

java.util.Date\u548cjava.sql.Date\u7684\u533a\u522b\u548c\u76f8\u4e92\u8f6c\u5316

java.util.Date\u662f\u5728\u9664\u4e86SQL\u8bed\u53e5\u7684\u60c5\u51b5\u4e0b\u9762\u4f7f\u7528\u7684\u3002
java.sql.Date\u662f\u9488\u5bf9SQL\u8bed\u53e5\u4f7f\u7528\u7684\uff0c\u5b83\u53ea\u5305\u542b\u65e5\u671f\u800c\u6ca1\u6709\u65f6\u95f4\u90e8\u5206
\u5b83
\u4eec\u90fd\u6709getTime\u65b9\u6cd5\u8fd4\u56de\u6beb\u79d2\u6570\uff0c\u81ea\u7136\u5c31\u53ef\u4ee5\u76f4\u63a5\u6784\u5efa\u3002 java.util.Date \u662f java.sql.Date
\u7684\u7236\u7c7b\uff0c\u524d\u8005\u662f\u5e38\u7528\u7684\u8868\u793a\u65f6\u95f4\u7684\u7c7b\uff0c\u6211\u4eec\u901a\u5e38\u683c\u5f0f\u5316\u6216\u8005\u5f97\u5230\u5f53\u524d\u65f6\u95f4\u90fd\u662f\u7528\u4ed6\uff0c\u540e\u8005\u4e4b\u540e\u5728\u8bfb\u5199\u6570\u636e\u5e93\u7684\u65f6\u5019\u7528\u4ed6\uff0c\u56e0\u4e3aPreparedStament\u7684
setDate()\u7684\u7b2c2\u53c2\u6570\u548cResultSet\u7684getDate()\u65b9\u6cd5\u7684\u7b2c2\u4e2a\u53c2\u6570\u90fd\u662fjava.sql.Date\u3002
java.sql.Date\u8f6c\u4e3ajava.util.Date
java.sql.Date date=new java.sql.Date();
java.util.Date d=new java.util.Date (date.getTime());

java.util.Date\u8f6c\u4e3ajava.sql.Date
java.util.Date utilDate=new Date();
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
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());

\u8fd9\u91cc\u6240\u6709\u65f6\u95f4\u65e5\u671f\u90fd\u53ef\u4ee5\u88abSimpleDateFormat\u683c\u5f0f\u5316format()
SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
f.format(stp);
f.format(sTime);
f.format(sqlDate);
f.format(utilDate)
java.sql.Date sqlDate=java.sql.Date.valueOf(" 2005-12-12");
utilDate=new java.util.Date(sqlDate.getTime());

\u53e6\u7c7b\u53d6\u5f97\u5e74\u6708\u65e5\u7684\u65b9\u6cd5\uff1a
import java.text.SimpleDateFormat;
import java.util.*;
java.util.Date date = new java.util.Date();
//\u5982\u679c\u5e0c\u671b\u5f97\u5230YYYYMMDD\u7684\u683c\u5f0fSimpleDateFormat
sy1=new SimpleDateFormat("yyyyMMDD");
String dateFormat=sy1.format(date);
//\u5982\u679c\u5e0c\u671b\u5206\u5f00\u5f97\u5230\u5e74\uff0c\u6708\uff0c\u65e5SimpleDateFormat
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);

Timestamp\u662f\u4e00\u4e2a\u4e0e java.util.Date \u7c7b\u6709\u5173\u7684\u7626\u5305\u88c5\u5668 (thin wrapper)\uff0c\u5b83\u5141\u8bb8 JDBC API \u5c06\u8be5\u7c7b\u6807\u8bc6\u4e3a SQL TIMESTAMP \u503c\u3002\u5b83\u6dfb\u52a0\u4fdd\u5b58 SQL TIMESTAMP \u6beb\u5fae\u79d2\u503c\u548c\u63d0\u4f9b\u652f\u6301\u65f6\u95f4\u6233\u503c\u7684 JDBC \u8f6c\u4e49\u8bed\u6cd5\u7684\u683c\u5f0f\u5316\u548c\u89e3\u6790\u64cd\u4f5c\u7684\u80fd\u529b\u3002

\u6ce8\uff1a\u6b64\u7c7b\u578b\u7531 java.util.Date \u548c\u5355\u72ec\u7684\u6beb\u5fae\u79d2\u503c\u7ec4\u6210\u3002\u53ea\u6709\u6574\u6570\u79d2\u624d\u4f1a\u5b58\u50a8\u5728 java.util.Date \u7ec4\u4ef6\u4e2d\u3002\u5c0f\u6570\u79d2\uff08\u6beb\u5fae\u79d2\uff09\u662f\u72ec\u7acb\u5b58\u5728\u7684\u3002\u4f20\u9012 java.util.Date \u7c7b\u578b\u7684\u503c\u65f6\uff0cTimestamp.equals(Object) \u65b9\u6cd5\u6c38\u8fdc\u4e0d\u4f1a\u8fd4\u56de true\uff0c\u56e0\u4e3a\u65e5\u671f\u7684\u6beb\u5fae\u79d2\u7ec4\u4ef6\u662f\u672a\u77e5\u7684\u3002\u56e0\u6b64\uff0c\u76f8\u5bf9\u4e8e java.util.Date.equals(Object) \u65b9\u6cd5\u800c\u8a00\uff0cTimestamp.equals(Object) \u65b9\u6cd5\u662f\u4e0d\u5bf9\u79f0\u7684\u3002\u6b64\u5916\uff0chashcode \u65b9\u6cd5\u4f7f\u7528\u57fa\u7840 java.util.Date \u5b9e\u73b0\u5e76\u56e0\u6b64\u5728\u5176\u8ba1\u7b97\u4e2d\u4e0d\u5305\u62ec\u6beb\u5fae\u79d2\u3002

\u9274\u4e8e Timestamp \u7c7b\u548c\u4e0a\u8ff0 java.util.Date \u7c7b\u4e4b\u95f4\u7684\u4e0d\u540c\uff0c\u5efa\u8bae\u4ee3\u7801\u4e00\u822c\u4e0d\u8981\u5c06 Timestamp \u503c\u89c6\u4e3a java.util.Date \u7684\u5b9e\u4f8b\u3002Timestamp \u548c java.util.Date \u4e4b\u95f4\u7684\u7ee7\u627f\u5173\u7cfb\u5b9e\u9645\u4e0a\u6307\u7684\u662f\u5b9e\u73b0\u7ee7\u627f\uff0c\u800c\u4e0d\u662f\u7c7b\u578b\u7ee7\u627f\u3002

【父类】java.util.Date日期格式为:年月日时分秒 
【子类】java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据] 
【子类】java.sql.Time日期格式为:时分秒 
【子类】java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)

针对不同的数据库选用不同的日期类型 
·Oracle的Date类型,只需要年月日,选择使用java.sql.Date类型 
·MS Sqlserver数据库的DateTime类型,需要年月日时分秒,选择java.sql.Timestamp类型

------------------------------------------

四种对象内部均使用系统时间作为标准数据 

·系统时间:自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数,即格林尼治标准时间GMT) ·本地时间:根据时区不同打印出来的时间[当时区为GMT+0时,系统时间与本地时间相同]我们使用的是以本地时间为参考标准的 

//java.util.Date 转换成 java.sql.Date 格式
try{
SimpleDateFormat DateFormate =   new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
java.util.Date date1 = DateFormate.parse("2011-5-31 14:40:50");
java.sql.Date sqlDate = new java.sql.Date(date1.getTime());
System.out.println(DateFormate.format(sqlDate));
}catch (Exception ex) {
System.out.println(ex.getMessage());
}

//java.sql.Date 转换成 java.util.Date 格式
java.sql.Date sqlDate1=java.sql.Date.valueOf("2005-12-12");
java.util.Date utilDate1=new java.util.Date(sqlDate1.getTime());
System.out.println("java.sql.Date 转换成 java.util.Date 格式:"+f.format(utilDate1));

//java.util.Date转换java.sql.Timestamp
new java.sql.Timestamp(new java.util.Date().getTime());//此处IDE报错

//java.util.Date转换java.sql.Time
new java.sql.Time(new java.util.Date().getTime());  

Timestamp timestamp  = new Timestamp(System.currentTimeMillis());

我们可以使用DateFormat处理字符串来定义时间日期的格式
注:String都是先转换为java.util.Date,然后再转换成所需的格式



  • java.util.Date鍜java.sql.Date鐨勫尯鍒強搴旂敤
    绛旓細java.sql.Date 鏄 java.util.Date鐨勫瓙绫伙紝鍖呰浜嗘绉掑肩殑鐦﹀寘瑁呭櫒 (thin wrapper)锛屽畠鍏佽 JDBC 灏嗘绉掑兼爣璇嗕负 SQL DATE 鍊笺傛绉掑艰〃绀鸿嚜 1970 骞 1 鏈 1 鏃 00:00:00 GMT 浠ユ潵缁忚繃鐨勬绉掓暟銆俲ava.util.Date鍙互鐢ㄤ簬鏃ユ湡璁$畻绛夈俲ava.sql.Date涓昏杩愮敤鍦ㄤ笌鏁版嵁搴撶殑鏃ユ湡绫诲瀷浜や簰涓婏紝閫氳繃瀹冪殑...
  • java.sql.Date,java.sql.Time鍜宩ava.sql.Timestamp浠涔堝尯鍒
    绛旓細銆愮埗绫汇慾ava.util.Date鏃ユ湡鏍煎紡涓猴細骞存湀鏃ユ椂鍒嗙 銆愬瓙绫汇java.sql.Date鏃ユ湡鏍煎紡涓猴細骞存湀鏃鍙瓨鍌ㄦ棩鏈熸暟鎹笉瀛樺偍鏃堕棿鏁版嵁] 銆愬瓙绫汇慾ava.sql.Time鏃ユ湡鏍煎紡涓猴細鏃跺垎绉 銆愬瓙绫汇慾ava.sql.Timestamp鏃ユ湡鏍煎紡涓猴細骞存湀鏃ユ椂鍒嗙绾崇锛堟寰锛夐拡瀵逛笉鍚岀殑鏁版嵁搴撻夌敤涓嶅悓鐨勬棩鏈熺被鍨 路Oracle鐨凞ate绫诲瀷锛屽彧...
  • java.util.Date鍜java.sql.Date鐨勫尯鍒強搴旂敤
    绛旓細1锛 java.sql.Date鏄痡ava.util.Date鐨勫瓙绫伙紝鏄竴涓寘瑁呬簡姣鍊肩殑鐦﹀寘瑁呭櫒锛屽厑璁 JDBC 灏嗘绉掑兼爣璇嗕负 SQL DATE 鍊笺傛绉掑艰〃绀鸿嚜 1970 骞 1 鏈 1 鏃 00:00:00 GMT 浠ユ潵缁忚繃鐨勬绉掓暟銆 涓轰簡涓 SQL DATE 鐨勫畾涔変竴鑷达紝鐢 java.sql.Date 瀹炰緥鍖呰鐨勬绉掑煎繀椤婚氳繃灏嗘椂闂淬佸垎閽熴佺鍜屾绉掕缃...
  • java.util.Date鍜java.sql.Date鐨勫尯鍒拰鐩镐簰杞寲
    绛旓細java.sql.Date鏄痡ava.util.Date鐨勫瓙绫,绮剧‘鍒版绉 java.sql.Date鏄拡瀵筍QL璇彞浣跨敤鐨勶紝瀹冨彧鍖呭惈鏃ユ湡鑰屾病鏈夋椂闂撮儴鍒嗗畠浠兘鏈塯etTime鏂规硶杩斿洖姣鏁帮紝鑷劧灏卞彲浠ョ洿鎺ユ瀯寤恒 java.util.Date 鏄 java.sql.Date 鐨勭埗绫伙紝鍓嶈呮槸甯哥敤鐨勮〃绀烘椂闂寸殑绫伙紝鎴戜滑閫氬父鏍煎紡鍖栨垨鑰呭緱鍒板綋鍓嶆椂闂撮兘鏄敤浠栵紝鍚庤呬箣鍚庡湪璇诲啓...
  • java.util.Date鍜java.sql.Date鐨勫尯鍒拰鐩镐簰杞寲
    绛旓細涓嶅悓鐐癸細1銆java.sql.Date鏄拡瀵筍QL璇彞浣跨敤鐨勶紝瀹冨彧鍖呭惈鏃ユ湡鑰屾病鏈夋椂闂撮儴鍒嗭紝涓鑸湪璇诲啓鏁版嵁搴撶殑鏃跺欑敤锛孭reparedStament鐨剆etDate()鐨勫弬鏁板拰ResultSet鐨刧etDate()鏂规硶鐨勯兘鏄痡ava.sql.Date 2銆乯ava.util.Date鏄湪闄や簡SQL璇彞鐨勬儏鍐典笅闈娇鐢紝涓鑸槸鏃ュ父鏃ユ湡瀛楁 3銆乯ava.util.Date 鏄 java.sql.Date...
  • java.util.Date鍜java.sql.Date鐨勫尯鍒拰鐩镐簰杞寲
    绛旓細鍖哄埆锛歫ava.util.Date 灏辨槸鍦ㄩ櫎浜哠QL璇彞鐨勬儏鍐典笅闈娇鐢紝java.sql.Date 鏄拡瀵筍QL璇彞浣跨敤鐨勶紝瀹冨彧鍖呭惈鏃ユ湡鑰屾病鏈夋椂闂撮儴鍒 鐩镐簰杞寲锛歫ava.util.Date 鏄 java.sql.Date 鐨勭埗绫伙紙娉ㄦ剰鎷煎啓锛夈傚墠鑰呮槸甯哥敤鐨勮〃绀烘椂闂寸殑绫伙紝鎴戜滑閫氬父鏍煎紡鍖栨垨鑰呭緱鍒板綋鍓嶆椂闂撮兘鏄敤浠栧悗鑰呬箣鍚庡湪璇诲啓鏁版嵁搴撶殑鏃跺欑敤浠栵紝鍥犱负...
  • java.util.Date鍜java.sql.Date鐨勫尯鍒強搴旂敤
    绛旓細java.util.Date 灏辨槸鍦ㄩ櫎浜哠QL璇彞鐨勬儏鍐典笅闈娇鐢 java.sql.Date 鏄拡瀵筍QL璇彞浣跨敤鐨勶紝瀹冨彧鍖呭惈鏃ユ湡鑰屾病鏈夋椂闂撮儴鍒 瀹冮兘鏈塯etTime鏂规硶杩斿洖姣鏁帮紝鑷劧灏卞彲浠ョ洿鎺ユ瀯寤 java.util.Date d = new java.util.Date(sqlDate.getTime());...--- java.util.Date 鏄 java.sql.Date 鐨勭埗绫伙紙娉ㄦ剰鎷煎啓...
  • java 鎬庢牱鑾峰彇java.sql.date 绫诲瀷骞存湀鏃ュ苟鎻掑叆鍒版暟鎹簱date绫诲瀷涓璤鐧惧害...
    绛旓細浣犲湪new date()鐨勬椂鍊欓渶瑕佸鍏ュ寘锛岃繖涓寘灏遍java.sql.date灏辫浜嗭紝鑷充簬鎻掑叆鏁版嵁搴擄紝涓鑸琺ysql鍙互鐩存帴鎻掑叆涓嶉渶瑕佽浆鎹紝oracle鍙兘闇瑕佽浆鎹笅锛屽to_date杩欐牱鐨勫嚱鏁板氨鍙互浜
  • java涓java.sql.Date
    绛旓細java.sql.Time 鍜 java.sql.Date 閮芥病鏈変笉鎺ュ彈浠讳綍鍙傛暟鐨勬瀯閫犲嚱鏁帮紝 鍒嗗埆鎺ユ敹鐨勬槸 Long鍨嬬殑 Time 鍜 Date .姣斿锛丏ate date = new Date(System.currentTimeMillis());System.out.println(date);寰楀埌褰撳墠鏃堕棿锛
  • java.util.Date鍜java.sql.Date鐨勫尯鍒拰鐩镐簰杞寲
    绛旓細Date date =date_format.parse("2016-8-25");//鍒涘缓鍊间负2016骞8鏈25闆剁偣鏁寸殑鏃堕棿銆傛敞鎰廙M澶у啓锛宮m 浼氳鎴 8 鍒嗛挓銆java.sql.Date 鏄痡ava.util.Date 鐨勫瓙绫伙紝灏佽浜嗘暟鎹簱涓殑鏃堕棿Date绫诲瀷銆傚鏋滄暟鎹簱琛ㄤ腑鏈塂ate瀛楁銆傚垯java涓洿鎺ュ缓绔媕ava.sql.Date瀵硅薄灏卞彲浠ユ妸瀹僫nsert鍒拌〃涓侱ate sql_date...
  • 扩展阅读:www.sony.com.cn ... m.4j4j.cn ... 在线免费货源网站入口 ... xfyzl.119.gov.cn ... www.9377.cn ... www.nqtc315.com ... java.52emu.cn ... xy3.163.com ... my.cbg.163.com ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网