Here you can find the source of today()
public static Date today()
//package com.java2s; //License from project: Apache License import java.util.*; public class Main { public static Date today() { return truncate(new Date()); }//from ww w.j ava 2s. c o m public static Date today(TimeZone timeZone) { Date date = new Date(); return truncate(date, timeZone); } /** * Truncate to begin of day: 0 hour 0 minute 0 second 0 millisecond * @param d The date to be truncated * @return the result truncated date */ public static Date truncate(Date d) { Calendar ca = Calendar.getInstance(); ca.setTime(d); truncate(ca); return ca.getTime(); } /** * Truncate to begin of day: 0 hour 0 minute 0 second 0 millisecond * @param d The date to be truncated * @return the result truncated date */ public static Date truncate(Date d, TimeZone zone) { Calendar ca = Calendar.getInstance(zone); ca.setTime(d); truncate(ca); return ca.getTime(); } /** * Truncate to begin of day: 0 hour 0 minute 0 second 0 millisecond * @param ca The calendar to be truncated */ public static Calendar truncate(Calendar ca) { truncateHour(ca); ca.set(Calendar.HOUR_OF_DAY, 0); return ca; } public static void truncateHour(Calendar ca) { ca.set(Calendar.MILLISECOND, 0); ca.set(Calendar.SECOND, 0); ca.set(Calendar.MINUTE, 0); } }