وقد نرغب في إخراج الوقت حسب عادة معينة، مثل ترتيب الوقت: سنة، شهر، أحد، أو سنة، شهر، أحد، ساعات، دقائق، ثواني.
في الأيام الأولى لـ Java، تم استخدام SimpleDateFormat ، وهي فئة فرعية من DateFormat في حزمة java.text، لتنسيق التواريخ. يوفر الإصدار JDK 1.5 فئة Formatter أكثر ملاءمة. طريقة التنسيق لفئة Formatter هي كما يلي:
التنسيق (وضع التنسيق، قائمة التاريخ)
وفقًا لـ "وضع التنسيق"، قم بإرجاع تمثيل السلسلة للبيانات (السنة والشهر واليوم والساعة وما إلى ذلك) الموجودة في كل تاريخ مدرج في "قائمة التاريخ".
حاليًا، جعلت Java طريقة التنسيق طريقة ثابتة لفئة السلسلة، لذلك يمكن للبرنامج استخدام فئة السلسلة مباشرة لاستدعاء طريقة التنسيق لتنسيق التاريخ.
"وضع التنسيق" في طريقة التنسيق هو تسلسل أحرف محاط بعلامات اقتباس مزدوجة، أي سلسلة تتكون من أحرف تنسيق الوقت وأحرف عادية.
على سبيل المثال: %ty و%tm و%td في التاريخ: %ty-%tm-%td كلها أحرف تنسيق الوقت. أول حرفين صينيين ("اليوم" و"الفترة")، والنقطتان وأحرف التنسيق تقع بين The الأحرف المتصلة "-" كلها أحرف عادية، في مصطلحات الشخص العادي، يعتبر أي شيء ليس حرفًا بتنسيق زمني حرفًا عاديًا.
على سبيل المثال: ستمثل أحرف التنسيق %ty و%tm و%td على التوالي "السنة" و"الشهر" و"اليوم" في التاريخ.
السلسلة التي يتم إرجاعها بواسطة أسلوب التنسيق هي السلسلة بعد استبدال حرف تنسيق الوقت في "وضع التنسيق" بالنتيجة المنسقة التي تحصل عليها، على سبيل المثال:
Strings=String.format(%tY year %tm Month %td day, newDate(), newDate(), newDate());
يمكن أن تكون "قائمة التاريخ" في أسلوب التنسيق عبارة عن كائن تقويم مفصول بفواصل أو كائن تاريخ .
نحتاج إلى التأكد من أن عدد أحرف التنسيق في "وضع التنسيق" لطريقة التنسيق هو نفس عدد التواريخ المدرجة في "قائمة التاريخ".
افتراضيًا، تستخدم طريقة التنسيق أحرف التنسيق في "وضع التنسيق" من اليسار إلى اليمين لتنسيق التواريخ المقابلة في "قائمة التاريخ"، بينما تظل الأحرف العادية في "وضع التنسيق" دون تغيير.
إذا أردنا استخدام عدة رموز تنسيق لتنسيق نفس التاريخ في "قائمة التاريخ"، فيمكننا استخدام "<" في "وضع التنسيق"، على سبيل المثال: رموز التنسيق الثلاثة في %ty-%<tm-%< سيقوم td بتنسيق نفس التاريخ، أي أن حرف التنسيق الذي يحتوي على "<" يقوم بتنسيق نفس تاريخ حرف التنسيق الذي يسبقه، على سبيل المثال:
Strings=String.format(%tyyear%<tmmonth%<tdday,newDate());
أحرف تنسيق التاريخ شائعة الاستخدام: