cdm/src/main/java/ucar/nc2/time/CalendarDate.java
public CalendarDate truncate(CalendarPeriod.Field fld) {
    switch (fld) {
      case Minute:
        return CalendarDate.of(cal, dateTime.getYear(), dateTime.getMonthOfYear(), dateTime.getDayOfMonth(), dateTime.getHourOfDay(), dateTime.getMinuteOfHour(), 0);
      case Hour:
        return CalendarDate.of(cal, dateTime.getYear(), dateTime.getMonthOfYear(), dateTime.getDayOfMonth(), dateTime.getHourOfDay(), 0, 0);
      case Day:
        return CalendarDate.of(cal, dateTime.getYear(), dateTime.getMonthOfYear(), dateTime.getDayOfMonth(), 0, 0, 0);
      case Month:
        return CalendarDate.of(cal, dateTime.getYear(), dateTime.getMonthOfYear(), 1, 0, 0, 0);
      case Year:
        return CalendarDate.of(cal, dateTime.getYear(), 1, 1, 0, 0, 0);
    }
    return this;
  }
public CalendarDate truncate(CalendarPeriod.Field fld) {
    switch (fld) {
      case Minute:
        return CalendarDate.of(cal, dateTime.getYear(), dateTime.getMonthOfYear(), dateTime.getDayOfMonth(), dateTime.getHourOfDay(), dateTime.getMinuteOfHour(), 0);
      case Hour:
        return CalendarDate.of(cal, dateTime.getYear(), dateTime.getMonthOfYear(), dateTime.getDayOfMonth(), dateTime.getHourOfDay(), 0, 0);
      case Day:
        return CalendarDate.of(cal, dateTime.getYear(), dateTime.getMonthOfYear(), dateTime.getDayOfMonth(), 0, 0, 0);
      case Month:
        return CalendarDate.of(cal, dateTime.getYear(), dateTime.getMonthOfYear(), 1, 0, 0, 0);
      case Year:
        return CalendarDate.of(cal, dateTime.getYear(), 1, 1, 0, 0, 0);
    }
    return this;
  }
public CalendarDate truncate ( CalendarPeriod . Field fld ) { switch ( fld ) { case Minute : return CalendarDate . of ( cal , dateTime . getYear ( ) , dateTime . getMonthOfYear ( ) , dateTime . getDayOfMonth ( ) , dateTime . getHourOfDay ( ) , dateTime . getMinuteOfHour ( ) , 0 ) ; case Hour : return CalendarDate . of ( cal , dateTime . getYear ( ) , dateTime . getMonthOfYear ( ) , dateTime . getDayOfMonth ( ) , dateTime . getHourOfDay ( ) , 0 , 0 ) ; case Day : return CalendarDate . of ( cal , dateTime . getYear ( ) , dateTime . getMonthOfYear ( ) , dateTime . getDayOfMonth ( ) , 0 , 0 , 0 ) ; case Month : return CalendarDate . of ( cal , dateTime . getYear ( ) , dateTime . getMonthOfYear ( ) , 1 , 0 , 0 , 0 ) ; case Year : return CalendarDate . of ( cal , dateTime . getYear ( ) , 1 , 1 , 0 , 0 , 0 ) ; } return this ; }
truncate the CalendarDate, by zeroing all the fields that are less than the field.
So 2013-03-01T19:30 becomes 2013-03-01T00:00 if the field is "day"
@param fld set to 0 all fields less than this one
@return truncated result
truncate the CalendarDate by zeroing all the fields that are less than the field . So 2013 - 03 - 01T19 : 30 becomes 2013 - 03 - 01T00 : 00 if the field is day