مبادئ التصميم وراء فصول التاريخ والوقت الجديد:
فئة ثابتة
قبل Java8 ، كانت فئة التاريخ كلها قابلة للتغيير. عندما نستخدمها في بيئة متعددة مؤشرات الترابط ، يجب على المبرمجين أن يؤكدوا أن كائن التاريخ آمن مؤشر ترابط. توفر واجهات برمجة التطبيقات في تاريخ ووقت Java8 فصولًا آمنة للخيط. لا يتعين على المبرمجين النظر في مسألة التزامن.
طريقة التصميم التي يحركها نموذج المجال
تتبع الفئات الجديدة من التواريخ والأوقات "تصميم المجال المدفوع". من السهل على المطورين فهم وظائف الأساليب والفئات.
بعد ذلك ، دعونا نلقي نظرة على تاريخ واجهات برمجة تطبيقات التاريخ والوقت الجديد:
1.java.time.localdate:
يوفر LocalDate فقط التواريخ ولكن ليس معلومات الوقت. إنه غير قابل للتغيير وآمن الخيط.
حزمة org.smarttechie ؛ استيراد java.time.localdate ؛ استيراد java.time.temporal.chronout ؛ localDate = localDate.Now () ؛ System.out.println ("التاريخ المحلي هو ::" + localDate) ؛ // العثور على طول الشهر. هذا هو ، كم عدد الأيام لهذا الشهر. System.out.println ("عدد الأيام المتاحة لهذا الشهر ::" + localdate.lengthofmonth ()) ؛ // تعرف على اسم الشهر system.out.println ("ما هو اسم الشهر؟ ::" + localDate.getMonth (). name ()) ؛ // أضف يومين إلى تاريخ اليوم. System.out.println (LocalDate.Plus (2 ، Chronout.Days)) ؛ // substract يومين من اليوم system.out.println (localdate.minus (2 ، chronounit.days)) ؛ // قم بتحويل السلسلة حتى الآن system.out.println (localDate.Parse ("2017-04-07")) ؛ }}2.java.time.localtime:
يوفر LocalTime فقط وقتًا للوقت وليس معلومات التاريخ ، فهو غير قابل للتغيير وآمن مؤشر الترابط.
حزمة org.smarttechie ؛ استيراد java.time.localtime ؛ استيراد java.time.temporal.chronout ؛ localtime = localtime.now () ؛ system.out.println (localtime) ؛ // احصل على ساعة من اليوم system.out.println ("ساعة اليوم ::" + localtime.gethour ()) ؛ // أضف ساعتين إلى الوقت. System.out.println (localtime.plus (2 ، chronout.hours)) ؛ // إضافة 6 دقائق إلى الوقت. System.out.println (localtime.plusminutes (6)) ؛ // substract 2 ساعة من الوقت الحالي system.out.println (localtime.minus (2 ، chronounit.hours)) ؛ }}3.java.time.localdatetime:
يوفر LocalDateTime معلومات عن الوقت والتاريخ ، فهو غير قابل للتغيير وآمن مؤشر الترابط
package orr.smarttechie ؛ استيراد java.time.localdateTime ؛ استيراد java.time.temporal.chronout ؛ localDateTime Object localDateTime localDateTime = localDateTime.Now () ؛ system.out.println (localDateTime) ؛ // العثور على طول الشهر. هذا هو ، كم عدد الأيام لهذا الشهر. System.out.println ("عدد الأيام المتاحة لهذا الشهر ::" + localDateTime.getMonth (). الطول (صحيح)) ؛ // تعرف على اسم الشهر system.out.println ("ما هو اسم الشهر؟ ::" + localDateTime.getMonth (). name ()) ؛ // أضف يومين إلى تاريخ اليوم. System.out.println (localDateTime.Plus (2 ، chronounit.days)) ؛ // substract يومين من اليوم system.out.println (localDateTime.Minus (2 ، chronounit.days)) ؛ }} 4.java.time.year:
يوفر السنة معلومات حول السنة ، فهي غير قابلة للتغيير وتأمين الخيط.
package orr.smarttechie ؛ استيراد java.time.year ؛ استيراد java.time.temporal.chronout ؛ year.now () ؛ system.out.println ("year ::" + year) ؛ // تعرف أن السنة هي LEAP year أو لا system.out.println ("هل السنة ["+year+"] leap year؟"+year.isleap ()) ؛ }}5.java.time.duration:
يتم استخدام المدة لحساب عدد الثواني وعدد المللي ثانية الواردة بين تواريخين محددين. إنه غير قابل للتغيير وآمن الخيط.
6.java.time.period:
يتم استخدام الفترة لحساب عدد الأيام أو الأشهر أو السنوات التي يتم تضمينها بين تواريخين محددين. إنه غير قابل للتغيير وآمن الخيط.
package orr.smarttechie ؛ استيراد java.time.localdate ؛ استيراد java.time.period ؛ استيراد java.time.temporal.chronounit ؛ args) {localDate localDate = localDate.Now () ؛ الفترة الفترة = الفترة. System.out.println (erian.getDays ()) ؛ }}