5
public static void main(String[] args) {
    java.util.Date utilDate = new java.util.Date();
    java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
    System.out.println("utilDate:" + utilDate);
    System.out.println("sqlDate:" + sqlDate);
 }

我使用此代码部分并输出如下:

2013/06/14 12:06:11
2013-06-14

我想要具有日期和时间数据的输出。方法参数需要java.sql.Date格式。这就是为什么我必须转换或更改sqlDate. 我该如何解决?

笔记

PreparedStatement insertStmt=null;
insertStmt.setDate(parIndex, java.sql.Date);

这就是我想要 java.sql.Date 格式的原因

4

3 回答 3

6

java.sql.Date扩展java.util.Date,因此它具有相同的信息,但由于被覆盖的toString()方法而显示不同。

如果你做这样的事情,你会看到它是一样的

System.out.println(new java.util.Date(sqlDate.getTime()));

建议使用DateFormatSimpleDateFormat显示数据,见评论。

于 2013-06-14T07:16:11.007 回答
3

使用时间戳

    Date updated_date=new Date();
    Timestamp timestamp = new Timestamp(updated_date.getTime());
    updated_date = timestamp;

并确保数据库中的数据类型应该是TimestampDatetime

于 2013-06-14T07:31:33.813 回答
0
import java.text.DateFormat;
import java.text.SimpleDateFormat;

/**
 * java.util.date to java.sql.date
 */
public class DatesConversion {

    public static void main(String[] args) {
        java.util.Date uDate = new java.util.Date();
        System.out.println("Time in java.util.Date is : " + uDate);
        java.sql.Date sDate = convertUtilToSql(uDate);
        System.out.println("Time in java.sql.Date is : " + sDate);
        DateFormat df = new SimpleDateFormat("dd/MM/YYYY - hh:mm:ss");
        System.out.println("Using a dateFormat date is : " + df.format(uDate));
    }

    private static java.sql.Date convertUtilToSql(java.util.Date uDate) {
        java.sql.Date sDate = new java.sql.Date(uDate.getTime());
        return sDate;
    }
}

用这个

于 2015-07-17T11:14:42.820 回答