البرمجة

تنسيق التواريخ والأوقات في Java

الخطأ الذي تواجهه يتمثل في محاولة تنسيق Instant باستخدام DateTimeFormatter الذي لا يدعم الحقل الزمني “سنة”. يبدو أنك تحاول استخدام DateTimeFormatter المخصص لتنسيق OffsetDateTime مباشرة على Instant.

لفهم الخطأ بشكل أفضل وحله، دعني أشرح الخطوات بتفصيل:

أولاً، أنت تحاول تنسيق Instant باستخدام DateTimeFormatter المعين لتنسيق OffsetDateTime. هذا هو السبب في ظهور الخطأ. DateTimeFormatter الذي تستخدمه مع OffsetDateTime يتوقع حقل “سنة” ولكن لا يمكن العثور عليه في Instant.

ثانياً، لحل هذا الخطأ، يجب عليك استخدام DateTimeFormatter المناسب لتنسيق Instant. يمكنك استخدام النمط ISO_INSTANT المدمج في Java لتنسيق Instant في تنسيق ISO 8601.

إليك كيفية تصحيح الكود:

java
import java.time.Instant; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { Instant instant = Instant.now(); DateTimeFormatter formatter = DateTimeFormatter.ISO_INSTANT; String formattedInstant = formatter.format(instant); System.out.println("Formatted Instant: " + formattedInstant); } }

هذا الكود يستخدم DateTimeFormatter.ISO_INSTANT لتنسيق Instant في تنسيق ISO 8601 بشكل صحيح دون وجود أي مشكلات مثل التي واجهتها مع DateTimeFormatter المخصص.

باستخدام هذا الكود المصحح، يجب أن تتمكن من تنسيق Instant بنجاح دون أي أخطاء مثل UnsupportedTemporalTypeException التي كنت تواجهها مسبقًا.

المزيد من المعلومات

بعد حل المشكلة السابقة وتنسيق Instant بنجاح باستخدام DateTimeFormatter.ISO_INSTANT، يمكننا الآن التركيز على فهم الكود بشكل أعمق وتوسيع المعرفة حول تنسيق التواريخ والأوقات في Java.

Java 8 وما بعدها قدمت حزمة java.time المدمجة التي توفر أنواعًا مختلفة لتمثيل التواريخ والأوقات، بما في ذلك Instant و OffsetDateTime و DateTimeFormatter.

تمثل Instant نقطة محددة في الوقت في نظام الزمن العالمي (UTC)، وهي عبارة عن ثواني مضافة منذ منتصف الليل (بتوقيت جرينتش) في 1 يناير 1970. يمكن استخدام Instant لتمثيل اللحظات الزمنية المحددة بدقة.

عند تنسيق Instant لعرضه أو تخزينه أو تبادله، يجب استخدام DateTimeFormatter المناسب. في هذه الحالة، استخدمنا DateTimeFormatter.ISO_INSTANT الذي يستخدم تنسيق ISO 8601 القياسي للتواريخ والأوقات. يتضمن هذا التنسيق التاريخ والوقت بالإضافة إلى المنطقة الزمنية بتوقيت UTC.

باستخدام الكود السابق، يتم تنسيق Instant بنجاح دون حدوث أي أخطاء. يمكنك الآن استخدام هذا الكود كنقطة انطلاق لتنسيق التواريخ والأوقات في تطبيقاتك الخاصة، سواء للعرض للمستخدم أو للتخزين في قواعد البيانات أو للتبادل بين النظم المختلفة.

بالتعمق في فهم كيفية تنسيق التواريخ والأوقات في Java، يمكنك تطوير تطبيقات أكثر قوة وموثوقية، مع فهم أفضل للأدوات والمكتبات المتاحة لك في Java لمعالجة التواريخ والأوقات بكفاءة ودقة.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر