Converting java date to Sql timestamp

前端 未结 5 2054
眼角桃花
眼角桃花 2020-12-08 18:45

I am trying to insert java.util.Date after converting it to java.sql.Timestamp and I am using the following snippet:

java.util.Date utilDate = n         


        
相关标签:
5条回答
  • 2020-12-08 18:57
    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);
    

    This gives me the following output:

     utilDate:Fri Apr 04 12:07:37 MSK 2014
     sqlDate:2014-04-04
    
    0 讨论(0)
  • 2020-12-08 18:58

    I suggest using DateUtils from apache.commons library.

    long millis = DateUtils.truncate(utilDate, Calendar.MILLISECOND).getTime();
    java.sql.Timestamp sq = new java.sql.Timestamp(millis );
    

    Edit: Fixed Calendar.MILISECOND to Calendar.MILLISECOND

    0 讨论(0)
  • 2020-12-08 19:04

    The problem is with the way you are printing the Time data

    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
    
    0 讨论(0)
  • 2020-12-08 19:14

    Take a look at 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));
    
    0 讨论(0)
  • 2020-12-08 19:23

    You can cut off the milliseconds using a 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()));
    

    Output:

    2014-04-04 10:10:17.78
    2014-04-04 10:10:17.0
    
    0 讨论(0)
提交回复
热议问题