class AppleRecordingYearBox extends AppleDataBox {
    DateFormat df;

    Date date = new Date();

    public AppleRecordingYearBox() {
        super("©day", 1);
        df = new SimpleDateFormat("yyyy-MM-dd'T'kk:mm:ssZ");
        df.setTimeZone(TimeZone.getTimeZone("UTC"));
    }

    protected static String iso8601toRfc822Date(String iso8601) {
        iso8601 = iso8601.replaceAll("Z$", "+0000");
        iso8601 = iso8601.replaceAll("([0-9][0-9]):([0-9][0-9])$", "$1$2");
        return iso8601;
    }

    protected static String rfc822toIso8601Date(String rfc622) {
        rfc622 = rfc622.replaceAll("\\+0000$", "Z");
        return rfc622;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    @Override
    protected byte[] writeData() {

        return Utf8.convert(rfc822toIso8601Date(df.format(date)));
    }

    @Override
    protected void parseData(ByteBuffer data) {<FILL_FUNCTION_BODY>}

    @Override
    protected int getDataLength() {
        return Utf8.convert(rfc822toIso8601Date(df.format(date))).length;
    }
}

        String dateString = IsoTypeReader.readString(data, data.remaining());
        try {
            date = df.parse(iso8601toRfc822Date(dateString));
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
    
<methods>public int getDataCountry() ,public int getDataLanguage() ,public int getDataType() ,public java.lang.String getLanguageString() ,public void setDataCountry(int) ,public void setDataLanguage(int) <variables>int dataCountry,int dataLanguage,int dataType,private static HashMap<java.lang.String,java.lang.String> language