繁体   English   中英

java.sql.Date格式

[英]java.sql.Date formatting

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格式的sqlDate 我该如何解决?

注意

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

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

java.sql.Date扩展了java.util.Date因此它具有相同的信息,但由于重写了toString()方法而以不同方式显示它。

如果你这样做,你会发现它是一样的

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

建议使用DateFormatSimpleDateFormat来显示数据,请参阅注释。

使用时间戳

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

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

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;
    }
}

用这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM