+1 امتیاز
قبل در برنامه نویسی توسط (922 امتیاز)
Date somedate = new SimpleDateFormat("yyyyMMdd").parse("20120101");
System.out.println(somedate.getTime());
Date date = new GregorianCalendar(2012,01,01).getTime();
System.out.println(date.getTime());

1 پاسخ

+3 امتیاز
قبل توسط (475 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

در ابتدای امر هر دو کد به نظر یک کار را انجام می دهند اما تقاوت کار در این است که کلاس 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  همراه است بهترین ابزار ها را برای حل مشکلات تاریخ در اختیار شما قرار می دهد

سوالات مشابه

0 امتیاز
1 پاسخ 447 بازدید
+1 امتیاز
1 پاسخ 389 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
0 امتیاز
1 پاسخ 592 بازدید
+1 امتیاز
0 پاسخ 383 بازدید
0 امتیاز
1 پاسخ 858 بازدید
+1 امتیاز
2 پاسخ 1.1هزار بازدید
...