Resetting the time part of a timestamp in Java

后端 未结 10 1224
慢半拍i
慢半拍i 2020-12-04 23:56

In Java, given a timestamp, how to reset the time part alone to 00:00:00 so that the timestamp represents the midnight of that particular day ?

In T-SQL, this query

10条回答
  •  悲哀的现实
    2020-12-05 00:47

    Here's a simple function with a main example:

    import java.util.Calendar;
    import java.util.Date;
    public class Util {
    /**
     * Returns an imprecise date/timestamp. 
     * @param date
     * @return the timestamp with zeroized seconds/milliseconds
     */
    public static Date getImpreciseDate(Date date) {
       Calendar cal = Calendar.getInstance(); // get calendar instance
       cal.setTime(date);// set cal to date
       cal.set(Calendar.SECOND, 0); // zeroize seconds 
       cal.set(Calendar.MILLISECOND, 0);   // zeroize milliseconds
       return cal.getTime();
    }
    
    public static void main(String[] args){
       Date now = new Date();
       now.setTime(System.currentTimeMillis()); // set time to now
       System.out.println("Precise date:  " + Util.getImpreciseDate(now));
       System.out.println("Imprecise date:  " + Util.getImpreciseDate(now));
    }
    }
    

提交回复
热议问题