الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تغيير الـ Date Format

بدأه vector_ever في 23 أغسطس 2013 · 2 رد · 617 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

 

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

 

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

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

Date
========
14.12.2010
15.12.2010
16.12.2010
17.12.2010
18.12.2010
19.12.2010
20.12.2010
21.12.2010
22.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());  ///date
set.add(pp);

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

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

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

 

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

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

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

 

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

 

فكيف الحل؟

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#2

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

أعقتد أنه من الأحسن في مثالك أن تستخدم 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"));

}
#3

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

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


مواضيع مشابهة