كيف يمكنك ربط تاريخ في خطوط باستخدام تنسيق محدد؟ مم/DD/Yyyy HH: MM: SS

StackOverflow https://stackoverflow.com/questions/3752200

  •  04-10-2019
  •  | 
  •  

سؤال

كيف تربط تاريخ في شرائط باستخدام تنسيق محدد؟ "MM/DD/YYYY HH: MM: SS"

<s:text name="myDateTime" formatPattern="MM/dd/yyyy HH:mm:ss" />
هل كانت مفيدة؟

المحلول

يستخدم المشارب typeconverters لتحويل معلمات الطلب (السلاسل) إلى أنواع محددة. يمكن العثور على جافادوك لمحول نوع التاريخ الافتراضي هنا:

net.sourceforge.stripes.validation.dateTypeConverter

لتغيير التنسيقات الافتراضية التي تنص عليها:

يمكن تغيير هذه المجموعة الافتراضية من التنسيقات من خلال توفير مجموعة مختلفة من سلاسل التنسيق في حزمة موارد Stripes ، أو عن طريق التصنيف الفرعي والتجاوز getFormatStrings (). في جميع الحالات ، يجب تحديد الأنماط باستخدام مساحات مفردة كفواصل بدلاً من القطع أو الشرطات أو الأحرف الأخرى.

و:

المفاتيح المستخدمة في حزمة الموارد لتحديد سلاسل التنسيق ونمط العملية المسبقة هي: Stripes.DateTypeConverter.formatstrings و stripes.dateTypeConverter.preprocesspattern

إذا لم يفعل ذلك من أجلك ، فيمكنك دائمًا أن تملكك typeconverter. يمكن أن يكون محول النوع المخصص هذا بعد ذلك ملتزم بستر في ActionBean بواسطة:

@Validate(converter=YourCustomTypeConverter.class)
public void setDate(Date date) {
  this.date = date;
}

إذا كنت تريد أن تدع التعيين تلقائيًا ، فأنت بحاجة إلى تجاوز الخريطة الافتراضية أو إنشاء نوع آخر (فرعي). على سبيل المثال ، يمكنك إنشاء محول النوع الخاص بك ليس لـ java.util.date ولكن لنوعك المخصص الذي يرث من java.util.date. نظرًا لأنه مجرد نوع فرعي دون أي سلوك إضافي ، يمكن لبقية التطبيق استخدامه كـ java.util.date.

Date date;

// No @validate needed, maps to MyCustomDate
public void setDate(MyCustomDate date) {
  this.date = date;
}     

نصائح أخرى

<fmt:formatDate timeZone="${timeZone}" value="${date}" pattern="MM/dd/yyyy hh:mm a"/>

SimpleDateFormat سوف تكون قادرة على مساعدتك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top