In informal|nonstandard|lang=en terms the difference between havent and didnt
is that
havent is (informal|nonstandard) while
didnt is (informal|nonstandard).
As contractions the difference between havent and didnt
is that
havent is (informal|nonstandard) while
didnt is (informal|nonstandard).