در ابتدای امر هر دو کد به نظر یک کار را انجام می دهند اما تقاوت کار در این است که کلاس SimpledateFormat فقط یک مبدل است و سعی می کند به اطلاعات دریافتی از کاربر نزدیک بماند. توصیه من این است که در SimpleDateFormat مقدار میلی ثانیه را نیز وارد کنید هرچند اگر صفر باشد.
GregorianCalendar اما یک تقویم است و ملاحظات بیشتری برای تبدیل تاریخ انجام می دهد و برای تبدیل تاریخ به julian مناسب تر است
public GregorianCalendar(
int year,
int month,
int dayOfMonth,
int hourOfDay,
int minute,
int second)
Constructs a GregorianCalendar with the given date and time set for the default time zone with the default locale.
البته پکیج جدید jodaTime که از جاوای ۷ رسمی شد و با 7jdk همراه است بهترین ابزار ها را برای حل مشکلات تاریخ در اختیار شما قرار می دهد