SimpleDateFormat عبارة عن فئة لحل مشكلة تنسيق الوقت لدينا.
SimpleDateFormat عبارة عن فئة محددة لتنسيق التواريخ وتحليلها بطريقة تعتمد على اللغة. يسمح بالتنسيق (التاريخ->النص)، والتحليل (النص->التاريخ)، والتطبيع. يتيح SimpleDateFormat إمكانية تحديد أي نمط تنسيق للتاريخ والوقت محدد من قبل المستخدم.
أنماط التاريخ والوقت يتم تحديد تنسيقات التاريخ والوقت بواسطة سلاسل نمط التاريخ والوقت. في سلاسل نمط التاريخ والوقت، يتم تفسير الأحرف غير المقتبسة من "A" إلى "Z" ومن "a" إلى "z" على أنها أحرف نمطية وتستخدم لتمثيل عناصر سلسلة التاريخ أو الوقت. يمكن وضع النص بين علامتي اقتباس مفردتين (') لتجنب التفسير. يمثل "''" اقتباسًا واحدًا. لا يتم تفسير كافة الأحرف الأخرى؛ يتم ببساطة نسخها إلى سلسلة الإخراج أثناء التنسيق، أو مطابقتها لسلسلة الإدخال أثناء التحليل.
تم تعريف حروف النمط التالية (جميع الأحرف الأخرى من "A" إلى "Z" ومن "a" إلى "z" محجوزة):
مثال على تمثيل عنصر التاريخ أو الوقت بالحرف
G معرف العصر النص AD
سنة ذ 1996؛
شهر في شهر يوليو؛
w عدد الأسابيع في السنة العدد 27
W عدد الأسابيع في الشهر العدد 2
د عدد أيام السنة العدد 189
د عدد أيام الشهر رقم 10
F أسبوع الشهر رقم 2
E يوم الأسبوع النص الثلاثاء
نص علامة صباحا/مساءا مساءا
ح ساعة اليوم (0-23) العدد 0
ك ساعة اليوم (1-24) العدد 24
عدد الساعات صباحا/مساءا (0-11) العدد 0
ح الساعة صباحا/مساءا (1-12) العدد 12
م عدد الدقائق في الساعة العدد 30
ثواني في دقائق العدد 55
S عدد المللي ثانية عدد 978
المنطقة الزمنية المنطقة الزمنية العامة توقيت المحيط الهادئ القياسي؛
المنطقة الزمنية Z المنطقة الزمنية RFC 822 -0800
يوضح المثال التالي كيفية تفسير أنماط التاريخ والوقت باللغة الأمريكية. التاريخ والوقت المحددان هو 2001-07-04 12:08:56 بالتوقيت المحلي لمنطقة المحيط الهادئ للولايات المتحدة.
نتائج نمط التاريخ والوقت
"yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 م الساعة 12:08:56 بتوقيت المحيط الهادئ الصيفي
"EEE، MMM d، ''yy" الأربعاء، 4 يوليو، '01
"ح: د م أ" 12:08 مساءً
"hh 'o''clock' a, zzzz" الساعة 12 ظهرًا بتوقيت المحيط الهادئ الصيفي
"K:mm a, z" 0:08 مساءً بتوقيت المحيط الهادئ الصيفي
"yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.يوليو.04 م 12:08 مساءً
"EEE, d MMM yyyy HH:mm:ss Z" الأربعاء، 4 يوليو 2001 12:08:56 -0700
"yyMMddHHmmssZ" 010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
أمثلة تطبيقية عملية لـ SimpleDateFormat في البرمجة:
(1) التنسيق (التاريخ->النص)
بشكل عام، التاريخ والوقت الشائع الاستخدام باللغة الصينية هما: 20070719 20:29:30
SimpleDateFormat formater = new SimpleDateFormat("yyyyMMdd hh:mm:ss");
System.out.println("التاريخ إلى السلسلة"+formater.format(new Date()));
تتضمن النماذج الشائعة المشابهة yyMMdd hh:mm:ss yyyy-MM-dd hh:mm:ss dd-MM-yyyy hh:mm:ss
ولكن تجدر الإشارة إلى أن هذا التنسيق (19JUL07) والأشكال المشابهة له به خدعة صغيرة 19JUL07
منسق SimpleDateFormat = SimpleDateFormat الجديد("ddMMMyy",,لغة جديدة("US"))
System.out.println("التاريخ إلى السلسلة"+formater.format(new Date()).toUpperCase());
ونظرًا لأنه باللغة الإنجليزية، فيجب استخدام معلمة الكائن Locale، وإلا فسيتم استخدام اللغة المحلية الافتراضية.
(2) التحليل (النص->التاريخ)
بشكل عام، يمكنك استخدام أي شكل من أشكال وضع التاريخ والوقت ومعلمات النص التي تريدها للحصول على الوقت بالتنسيق المطلوب، على سبيل المثال، سيُرجع 19-7-2007 كائن الوقت من النوع java.util.Date والساعات. والدقائق والثواني سيتم ملؤها بالصفر.
formater = new SimpleDateFormat("yyyyMMMdd",new Locale("US"));
يحاول...{
System.out.println("سلسلة حتى الآن"+formator.parse("2007sep01"));
} قبض على (ParseException ه) ...{
printStackTrace();
}
بخاصة،
formater = new SimpleDateFormat("yyyyMMMdd",new Locale("US"));
يحاول...{
System.out.println("سلسلة حتى الآن"+formator.parse("2007sep01"));
} قبض على (ParseException ه) ...{
printStackTrace();
}
كما تقوم أيضًا بإرجاع كائن تاريخ من النوع java.util.Date، مع الساعات والدقائق والثواني المحشوة بالصفر.
(3) النص -> الطابع الزمني، التاريخ -> الطابع الزمني
الطابع الزمني ر؛
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
يحاول...{
t = new Timestamp(format.parse("2007-07-19 00:00:00").getTime());
} قبض على (ParseException ه) ...{
printStackTrace();
}
الطابع الزمني ر؛
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
t = الطابع الزمني الجديد (التاريخ الجديد ().getTime