违章建筑无论几年都不能合法。违章建筑无论过多长时间,只要需要拆除的,行政机关就可以责令当事人自行拆除,如果逾期不拆除的,会强制拆除。对认定为违法建筑和超过批准期限的临时建筑,不予补偿。
只有对认定为合法建筑和未超过批准期限的临时建筑,才应当给予补偿