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 GetDateCommand extends AbstractCommand {

	public GetDateCommand() {
		instruction = ApduConstants.INSTRUCTION_GET_DATE;
		expectedReturnDataLength = 4;
	}

	public Date getDate() {
		Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"), Locale.GERMANY);
		// D.M.Y1Y2
		// Y1Y2 (0 .. 9999), M (0 .. 11), D (1 .. 31)
		calendar.set(rawResponse[3] + rawResponse[2] * 100, rawResponse[1] - 1, rawResponse[0]);
		return calendar.getTime();
	}
}
