程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 數據庫-java中Date類型如何與mysql中的datetime類型聯系

數據庫-java中Date類型如何與mysql中的datetime類型聯系

編輯:編程綜合問答
java中Date類型如何與mysql中的datetime類型聯系

我在Mysql中建了一個datetime類型的數據
然後想在java中用Date類型來獲取當前時間(變量名為inTime)並添加到數據庫中
構造了一個函數,在傳參數的時候應該怎麼傳,
還是到底是Import java.util.Date還是import java.sql.Date
並且我希望的時間格式為:2016-01-04 21:09:23
構造函數這樣寫對嗎
public CheckIn( java.sql.Date inTime) {
inTime = new Date(System.currentTimeMillis());
}

public static void main(String args[]){
    CheckIn cin = new CheckIn( new Date());
}



希望大神能將詳細的代碼寫出來並講解,謝謝了

最佳回答:


首先java.sql.Date是java.uti.Date的子類,但是java.sql.Date是sql相關的日期類型,我們用純JDBC寫數據庫連接、查詢時所用的日期就是這個類型。所以通常實體類用java.sql.Date和表結構中datetime類型映射,也可以用java.uti.Date,沒有影響的。
其次,在MySQL中以'YYYY-MM-DD HH:MM:SS'的形式顯示DATETIME類型的值,但是使用jdbc取出的數據格式並不是這種格式的字符串的,需要我們自己轉換一下。就你的需求,提供了一個簡單的轉換方法如下:

import java.sql.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

/**
 * 在MySQL中以'YYYY-MM-DD HH:MM:SS'的形式顯示DATETIME類型的值
 * java代碼中使用java.sql.Date和datetime字段對應
 * 但是java程序中對應java.sql.Date的顯示問題需要進行轉換
 * @author 金濤
 *
 */
public class CheckIn {
    private Date inTime;

    public CheckIn(Date inTime) {
        this.inTime = inTime;
    }

    public String getFormatTime(String format) {
        String value = null;
        DateFormat dateFormat = new SimpleDateFormat(format);
        value =dateFormat.format(inTime);
        return value;
    }

    public static void main(String args[]) {
        CheckIn cin = new CheckIn(new Date(System.currentTimeMillis()));
        String formatTime = cin.getFormatTime("YYYY-MM-DD HH:MM:ss");
        System.out.println(formatTime);
    }

}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved