• 0
vector_ever

تغيير الـ Date Format

سؤال

السلام عليكم

صراحة ترددت قبل ان اطرح السؤال هنا في المنتدى لكن لعل وعسى ان اجد من يساعدني

 

الفكرة باختصار انني ارغب بقراءة بعض البيانات من ملف اكسل (التي صدف انها عبارة عن Date)  ثم تخزين هذه البيانات في HashSet بعد ذلك ارغب بتخزين البيانات المقروءة والمخزنة في الـ HashSet الى قاعدة بيانات

 

المشكلة لدي هو في هيئة التاريخ التي تنتج Date Fromat  حيث يتم قراءة التاريخ بغير الهيئة الاصلية الموجودة في الاكسل وهذا ما لا ارغب به وسأبين بالامثلة

البيانات الموجودة في ملف الاكسل وتمثل تاريخ معين من يوم وشهر وسنة

Date========14.12.201015.12.201016.12.201017.12.201018.12.201019.12.201020.12.201021.12.201022.12.2010

الصنف الذي يمثل البيانات التي اريد التعامل معها

public class Date_DB {         private String name;    private Date dateOfCommission;   //Setters und Getters(

اما لدى قراءة ملف الاكسل وتخزينه في الـ HashSet

Date_DB pp = new Date_DB();pp.setDateOfCommission(row.getCell(12).getDateCellValue());  ///dateset.add(pp);

لكن النتيجة المعروضة هي غير المرغوب بها

Tue Dec 14 00:00:00 CET 2010Wed Dec 15 00:00:00 CET 2010Thu Dec 16 00:00:00 CET 2010Fri Dec 17 00:00:00 CET 2010Sat Dec 18 00:00:00 CET 2010Sun Dec 19 00:00:00 CET 2010Mon Dec 20 00:00:00 CET 2010Tue Dec 21 00:00:00 CET 2010Wed Dec 22 00:00:00 CET 2010

لاحظوا انه تم تغيير شامل في هيئة التاريخ المقروء وهذا لا اريده حيث كان بسيط وسهل والان اصبح صعب ومعقد

 

الحل طبعا هو تحويله الى الهيئة التي اريدها عن طريق الـ SimpleDateFormat 

SimpleDateFormat  sdf = new SimpleDateFormat("dd.MM.yyyy");

وفعلا لو استخدمته سيحول التاريخ للصيغة التي ارغب بها لكن ثم ولكن سيحولها الى النوع String  ولن تكون من النوع Date  وهذا ما لا ارغب به كل ما اريده هو ان تكون من النوع Date 

 

اي ان يتم تخزينها  بالهيئة البسيطة الموجودة في ملف اكسل وان تكون من النوع Date

 

فكيف الحل؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

2 إجابة على هذا السؤال .

  • 0

وعليكم السلام ورحمة الله

أعقتد أنه من الأحسن في مثالك أن تستخدم DateFormat

public static void main(String[] vars) throws ParseException {DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);System.out.println(df.format(new Date()));System.out.println(df.parse("01/01/2013"));}
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جميل وشكرا لردك لكن حتى DateFormat يعيد قيمة  String  وليس Date

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .