package mixconfig.tools.dataretention.smartcard.commands;

import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;

import mixconfig.tools.dataretention.smartcard.ApduConstants;

public class SetDateCommand extends AbstractCommand {

	public SetDateCommand(Date date) {
		instruction = ApduConstants.INSTRUCTION_SET_DATE;
		Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"), Locale.GERMANY);
		calendar.setTime(date);
		arguments = new byte[4];
		// Day (1 .. 31)
		arguments[0] = (byte) calendar.get(Calendar.DAY_OF_MONTH);
		// Month (1 .. 12)
		arguments[1] = (byte) (calendar.get(Calendar.MONTH) + 1);
		// Year1 (0 .. 99)
		arguments[2] = (byte) (calendar.get(Calendar.YEAR) / 100);
		// Year2 (0 .. 99)
		arguments[3] = (byte) (calendar.get(Calendar.YEAR) % 100);
	}

}
