تحويل 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.time | إضافية ملاحظات | |
---|---|---|
فوري | يحول إلى بداية اليوم بالتوقيت العالمي المنسق | |
ZonedDateTime | يحتفظ بمعلومات المنطقة الزمنية | |
ZonedDateTime | يتطلب منطقة زمنية لتحديد التاريخ | java.util.LocalTime |
يتحول إلى بداية اليوم بالتوقيت العالمي المنسق | java.util.LocalDateTime | |
يتطلب منطقة زمنية لتحديد التاريخ والوقت |
قد يؤدي التحويل من نوع java.util.Date إلى نوع java.time إلى فقدان الدقة كما هو الحال دقة النانو ثانية غير مدعومة من قبل الفئات القديمة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3