code: public static final Long getDateBoxValue(TimeZone zone, Date date) {
  
          if (date == null) return null;
  
          // use a Calendar in the specified timezone to figure out the
          // date and then convert to GMT
          Calendar cal = GregorianCalendar.getInstance(zone);
          cal.setTime(date);
  
          Calendar gmt = GregorianCalendar.getInstance(TimeZone.getTimeZone("GMT"));
          
          // copy the year, month, and day
          gmt.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
          
          // zero everything else out (for midnight)
          gmt.set(Calendar.HOUR_OF_DAY, 0);
          gmt.set(Calendar.MINUTE, 0);
          gmt.set(Calendar.SECOND, 0);
          gmt.set(Calendar.MILLISECOND, 0);
  
          // midnight at GMT on the date specified
          return gmt.getTimeInMillis();
      }
docs: Returns the value for the UTCDateBox for a specified
  {@link TimeZone} and {@link Date}.
  
  @param zone
  The {@link TimeZone} in which the Date will be
  rendered.
  
  @param date
  The Date which should be displayed in the UTCTimeBox
  
  @return the value for the UTCDateBox or null if the supplied date is null