In general, you should really avoid Date.toString, since it does not specify how the dates are formatted. Either use Date.getTime(), or if it needs to be human readable, a (Simple)DateFormat. toString results heavily depend on your locale settings, and the timezone of the provided date. So the DateFormatter is indeed the way to go.
From the official documentation:
public String toString() Converts this Date object to a String of the form: dow mon dd hh:mm:ss zzz yyyy.
zzz is the time zone (and may reflect daylight saving time). Standard time zone abbreviations include those recognized by the method parse. If time zone information is not available, then zzz is empty - that is, it consists of no characters at all.