"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني تحويل java.util.Date إلى Java.time's Instant أو OffsetDateTime أو ZonedDateTime؟

كيف يمكنني تحويل java.util.Date إلى Java.time's Instant أو OffsetDateTime أو ZonedDateTime؟

تم النشر بتاريخ 2024-11-06
تصفح:392

How do I convert java.util.Date to java.time\'s Instant, OffsetDateTime, or ZonedDateTime?

تحويل java.util.Date إلى Java.time Instant أو OffsetDateTime أو ZonedDateTime

بينما ننتقل نحو إطار عمل java.time الحديث ، من الضروري معرفة كيفية تحويل كائنات java.util.Date القديمة إلى أنواع java.time المناسبة. فيما يلي ملخص للمعادلات:

java.util.Date إلى Instant

كلاهما يمثل لحظة بالتوقيت العالمي المنسق (UTC)، لذا فإن التحويل واضح ومباشر:

Instant instant = myUtilDate.toInstant();

java.util.Date myUtilDate = java.util.Date.from(instant);

java.util.Date إلى OffsetDateTime الخاص بـ java.time أو ZonedDateTime

منذ ذلك تتضمن الأنواع معلومات المنطقة الزمنية، ومن الضروري استخراج المنطقة من التاريخ القديم:

// If the legacy date is a GregorianCalendar (which can hold time zone info)
if (myUtilCalendar instanceof GregorianCalendar) {
    GregorianCalendar gregCal = (GregorianCalendar) myUtilCalendar;
    ZonedDateTime zdt = gregCal.toZonedDateTime(); // ZonedDateTime with time zone

    java.util.Calendar myUtilCalendar = java.util.GregorianCalendar.from(zdt);
}

تعيينات تحويل إضافية

النوع القديم java.util.Calendar java.util.GregorianCalendarjava.util.LocalDatejava.util.LocalTimeفورييتحول إلى بداية اليوم بالتوقيت العالمي المنسق java.util.LocalDateTimeZonedDateTimeيتطلب منطقة زمنية لتحديد التاريخ والوقت اعتبارات هامة
مكافئ java.time إضافية ملاحظات
فوري يحول إلى بداية اليوم بالتوقيت العالمي المنسق
ZonedDateTimeيحتفظ بمعلومات المنطقة الزمنية
ZonedDateTimeيتطلب منطقة زمنية لتحديد التاريخ

قد يؤدي التحويل من نوع java.util.Date إلى نوع java.time إلى فقدان الدقة كما هو الحال دقة النانو ثانية غير مدعومة من قبل الفئات القديمة.

    عند التحويل إلى OffsetDateTime أو ZonedDateTime، يجب الحفاظ على معلومات المنطقة الزمنية لضمان التفسير الصحيح.
  • يوصى بشدة باستخدام أنواع java.time في كود جديد لتحسين الدقة والاتساق.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3