code: public final void setValue(long milliseconds)
  	{
  		initCalendar();
  		synchronized (c) {
  			c.clear();
  			c.setTimeInMillis(milliseconds);
  			data = new short[8];
  			set(data, 0, YEAR, c.get(Calendar.YEAR));
  			set(data, 0, MONTH, c.get(Calendar.MONTH) + 1);
  			set(data, 0, DAY, c.get(Calendar.DAY_OF_MONTH));
  			set(data, 0, HOUR, c.get(Calendar.HOUR_OF_DAY));
  			set(data, 0, MINUTE, c.get(Calendar.MINUTE));
  			set(data, 0, SECOND, c.get(Calendar.SECOND));
  			final int dow = c.get(Calendar.DAY_OF_WEEK);
  			set(data, 0, DOW, dow == Calendar.SUNDAY ? 7 : dow - 1);
  			setBit(0, DST, c.get(Calendar.DST_OFFSET) != 0);
  			data[6] &= ~(NO_YEAR | NO_DATE | NO_TIME | NO_DOW);
  		}
  	}
docs: Sets the date/time for the first date/time item using UTC millisecond information.
  <p>
  Following fields are set: year, month, day, day of week, hour, minute, second,
  daylight time. All according fields are set to used state.<br>
  The <code>value</code> is interpreted by a calendar obtained by
  {@link Calendar#getInstance()}.<br>
  The new value item replaces any other items contained in this translator.
  
  @param milliseconds time value in milliseconds, as used by {@link Calendar}