Shi*_*itu 49 java sql datetime sqldatetime
我试图java.util.Date
将其转换为java.sql.Timestamp后插入,我使用以下代码段:
java.util.Date utilDate = new java.util.Date();
java.sql.Timestamp sq = new java.sql.Timestamp(utilDate.getTime());
Run Code Online (Sandbox Code Playgroud)
但是,这是给我sq
的2014-04-04 13:30:17.533
有没有办法在没有毫秒的情况下获得输出?
Sto*_*ica 45
您可以使用以下命令切断毫秒Calendar
:
java.util.Date utilDate = new java.util.Date();
Calendar cal = Calendar.getInstance();
cal.setTime(utilDate);
cal.set(Calendar.MILLISECOND, 0);
System.out.println(new java.sql.Timestamp(utilDate.getTime()));
System.out.println(new java.sql.Timestamp(cal.getTimeInMillis()));
Run Code Online (Sandbox Code Playgroud)
输出:
2014-04-04 10:10:17.78
2014-04-04 10:10:17.0
Run Code Online (Sandbox Code Playgroud)
Mar*_*kus 14
看看SimpleDateFormat
:
java.util.Date utilDate = new java.util.Date();
java.sql.Timestamp sq = new java.sql.Timestamp(utilDate.getTime());
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
System.out.println(sdf.format(sq));
Run Code Online (Sandbox Code Playgroud)
问题在于您打印时间数据的方式
java.util.Date utilDate = new java.util.Date();
java.sql.Timestamp sq = new java.sql.Timestamp(utilDate.getTime());
System.out.println(sa); //this will print the milliseconds as the toString() has been written in that format
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(timestamp)); //this will print without ms
Run Code Online (Sandbox Code Playgroud)
我建议使用 apache.commons 库中的 DateUtils。
long millis = DateUtils.truncate(utilDate, Calendar.MILLISECOND).getTime();
java.sql.Timestamp sq = new java.sql.Timestamp(millis );
Run Code Online (Sandbox Code Playgroud)
编辑:固定Calendar.MILISECOND
为Calendar.MILLISECOND
归档时间: |
|
查看次数: |
160796 次 |
最近记录: |