كيفية ضبط سنة قبل الميلاد باستخدام GregorianCalendar
-
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
من الممكن استخدامه
لا تنتمي إلى StackOverflow