كيفية ضبط سنة قبل الميلاد باستخدام GregorianCalendar

StackOverflow https://stackoverflow.com/questions/2187973

  •  25-09-2019
  •  | 
  •  

سؤال

لدي مهمة تحول التواريخ من نظام تقويم إلى آخر.

يبدو أن الوثائق الخاصة بـ GregorianCalendar تشير إلى أنك يستطيع استخدم التواريخ مع سنوات BCE ، لكن ليس لدي أي فكرة عن كيفية. إذا كنت ببساطة أجعل العام سلبيًا ، أي

 GregorianCalendar cal = new GregorianCalendar(-20, 1, 2, 3, 0, 0);
 System.out.println(cal.getTime.toString());

يطبع "الشمس شباط 02 03:00:00 GMT-05: 00 21 '، وهو أمر غير صحيح بشكل واضح.

هل كانت مفيدة؟

المحلول

تحتاج إلى ضبط عصر BC (BC هو حقل ثابت على التقويم الميلادي).

يحتوي التقويم القياسي (الغريغوري) على عصور 2 ، قبل الميلاد وإعلان.

http://java.sun.com/j2se/1.4.2/docs/api/java/util/greasiancalendar.html

على سبيل المثال

calendar.set(Calendar.ERA, GregorianCalendar.BC);

نصائح أخرى

يمكن العثور على وثائق هذا: http://java.sun.com/j2se/1.4.2/docs/api/java/util/calendar.html#era

يظهر Calendar.ERA وكيف كلاهما GregorianCalendar.AD و GregorianCalendar.BC من الممكن استخدامه

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top