乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Timestamp 基礎(chǔ)知識(shí)及時(shí)間大小比較

       tottiyq 2010-11-02
      Timestamp 基礎(chǔ)知識(shí)及時(shí)間大小比較
      主要寫(xiě)一些與數(shù)據(jù)庫(kù)連接時(shí)的日期處理,pstmt.setDate()的類型是java.sql.Date類型,這種符合規(guī)范的類型其實(shí)并沒(méi)有把時(shí)分秒存進(jìn)數(shù)據(jù)庫(kù),所以存取時(shí)就應(yīng)該用setTimestamp()或getTimestamp()。

      整理一:
      java.sql.Date 只存儲(chǔ)日期數(shù)據(jù)不存儲(chǔ)時(shí)間數(shù)據(jù)
      // 會(huì)丟失時(shí)間數(shù)據(jù)
      preparedStatement.setDate(1, new java.sql.Date(date.getTime()));
      //可以這樣來(lái)處理
      preparedStatement.setTimestamp(1, new Timestamp(new java.util.Date().getTime()));

      //想要得到完整的數(shù)據(jù),包括日期和時(shí)間,可以這樣
      java.util.Date d = resultSet.getTimestamp(1);
      //這樣處理更合適一些,可以避免一些潛在Timestamp 問(wèn)題
      java.util.Date d = new java.util.Date(resultSet.getTimestamp(1).getTime());
         往數(shù)據(jù)庫(kù)存儲(chǔ)的時(shí)候可以接收 java.util.Date類型 再用getTime()方法得到代表那個(gè)Date對(duì)象的long值,再以這個(gè)long值構(gòu)造一個(gè)Timestamp對(duì)象 存進(jìn)數(shù)據(jù)庫(kù)中。
             從存數(shù)據(jù)庫(kù)里取的時(shí)候,可以先得到Timestamp用他的getTime()方法得到long值,再以這個(gè)long值構(gòu)造一個(gè) java.util.Date對(duì)象,這樣就可以對(duì)這個(gè)Date對(duì)象操作了。比如說(shuō) new SimpleDateFormat("yyyyy-MM-dd HH:mm:ss").format(Date)或format(Timestamp)都行~

      整理二:
      用Timestamp來(lái)記錄日期時(shí)間還是很方便的,但有時(shí)候顯示的時(shí)候是不需要小數(shù)位后面的毫秒的,這樣就需要在轉(zhuǎn)換為String時(shí)重新定義格式。

      String轉(zhuǎn)化為T(mén)imestamp:

      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      //定義格式,不顯示毫秒
      Timestamp now = new Timestamp(System.currentTimeMillis());
      //獲取系統(tǒng)當(dāng)前時(shí)間
      String str = df.format(now);         
      String轉(zhuǎn)化為T(mén)imestamp:
      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");
      String time = df.format(new Date());
      Timestamp ts = Timestamp.valueOf(time);     

      整理三:
      在 ResultSet中我們經(jīng)常使用的setDate或getDate的數(shù)據(jù)類型是java.sql.Date,而在平時(shí)java程序中我們一般習(xí)慣使用 java.util.Date。因此在DAO層我們經(jīng)常會(huì)碰到這倆種數(shù)據(jù)類型的相互轉(zhuǎn)換。
      兩者的關(guān)系
      java.lang.Object
          |
          +---java.util.Date
                  |
                  +----java.sql.Date
      相互轉(zhuǎn)換
      1. 使用getTime()函數(shù)
      這兩個(gè)類都提供了getTime()函數(shù),用于返回對(duì)應(yīng)的毫秒數(shù)(long類型)。利用這個(gè)函數(shù)可以實(shí)現(xiàn)轉(zhuǎn)換:
          java.util.Date utilDate = new java.util.Date(sqlDate.getTime());   // sql -> util
          java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());   // util -> sql

      2. 使用SimpleDateFormat類實(shí)現(xiàn)轉(zhuǎn)換
      SimpleDateFormat 是一個(gè)以國(guó)別敏感的方式格式化和分析數(shù)據(jù)的具體類。 它允許格式化 (date -> text)、語(yǔ)法分析 (text -> date)和標(biāo)準(zhǔn)化。
      SimpleDateFormat dateFormat = new SimpleDateFormate("yyyy-MM-dd HH:mm:ss");
      java.util.Date utilDate = dateFormat.parse(sqlDate.toString());

      3. 直接轉(zhuǎn)換
      由于java.sql.Date是從java.util.Date中繼承過(guò)來(lái)的,所以可以直接用:
      utilDate = sqlDate;

      4. 另類獲得日期的方法:
      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);

      ps:1. java.util.Date類中的getYear()要加上1900才可得到實(shí)際值,getMonth()則要加上1。
              2. 字符串到Date的轉(zhuǎn)換: Date.valueOf(str),記得引包的時(shí)候要引sql的Date包,不是util的Date包
              3. 字符串到Timestamp 的轉(zhuǎn)換Timestamp ts = Timestamp.valueOf(time);

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多