تعرف على طرق و أساليب الوقت و التاريخ فى لغة الجافا و كيفية تنسيقهما

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

تعرف على طرق و أساليب الوقت و التاريخ فى لغة الجافا و كيفية تنسيقهما

مُساهمة من طرف أحمد مناع في الإثنين مايو 06, 2013 9:16 am

بسم الله الرحمن الرحيم


اهلا وسهلا بكم إخوانى الكرام فى درس جديد من دروس قسم الجافا ....اليوم إن شاء الله تعالى سنتعرف سويا على الطرق و الاساليب المستخدمة للتعامل مع الوقت التاريخ فى لغة الجافا و كيفية تنسيقهما ....

1_ الكائن System ....يحتوى على الطريقة currentTimeMillis و التى تقوم بإرجاع الوقت بالملى ثانية ...ويتم أستخدامها عن طريق الكود التالى :

الرمز:
long time = System.currentTimeMillis();
 
    System.out.println(time);



و النتيجة ستكون كما فى الصورة التالية




و كما ترى فى الصورة فإن الوقت تم طباعته بالملى ثانية و بدون تنسيق لذلك سوف نستخدم الطريقة SimpleDateFormat وهى أحد الطرق التابعة للفئة java.text التى تستطيع من خلالها تنسيق التاريخ وذلك باستخدام الكود التالى :

- أولا نقوم بأستيراد المكتبة عن طريق الكود التالى :

الرمز:
import java.text.SimpleDateFormat;

_ فى الدالة الرئسية للبرنامج نكتب الكود التالى :

الرمز:
  SimpleDateFormat format =new SimpleDateFormat ("hh:mm:ss");
 
  long time = System.currentTimeMillis();
 
  String p =format.format(time);
 
    System.out.println(p);

فى السطر الاول قمنا بأشتقاق كائن جديد من الاسلوب SimpleDateFormat وهو format وقمنا بجعل التنسيق يساوى القيمة hh:mm:ss ....فالحرفين hh تعنى الساعة و الحرفين mm تعنى الدقائق و الحرفين ss تعنى الثوانى وبالتالى فعند تشغيل البرنامج سيكون الناتج كما يلى :





ويمكنك ملاحظة أن صيغة الوقت السابقة 12 ساعة و يمكنك جعل الصيغة 24 ساعة بأستخدام HH بدلا من hh


2_ الكائن Date ....هذا الكائن هو أحد الكائنات التابعة للفئة java.util و الذى يحتوى على الطريقة
getTime و التى تقوم بارجاع الوقت بالملى ثانية و يتم أستخدامها على النحو التالى :

_ أستيراد المكتبة بالكود التالى :

الرمز:
import java.util.Date;

_ نقوم بكتابة الكود التالى تحت الدالة الرئسية :

الرمز:
SimpleDateFormat format =new SimpleDateFormat ("hh:mm:ss");
 
  Date date=new Date();
 
  long time =date.getTime();
 
  String p =format.format(time);
 
    System.out.println(p);

وكما تلاحظون فى السطر الثانى من الكود أعلاه قمنا باشتقاق كائن جديد من Date يسمى data ....وفى السطر الثالث قمنا بالاعلان عن المتغير time من نوع long ليتم تخزين فية قيمة الوقت الراجعة من خلال الطريقة date.getTime

3_ الكائن Calendar ....وهو ايضا أحد الكائنات التابعة للفئة java.util و يستخدم لارجاع التاريخ و الوقت و يحتوى على عده اساليب للوصول الى السنة و الشهر و اليوم الحالى ...و ايضا اساليب اخرى للحصول على الوقت وهذا الكائن يعتبر من الفئات المجردة abstract مما يعني أنه لا يمكن إنشاء مثيل له. والسبب هو أن هناك أكثر من تقويم واحد في العالم. على سبيل المثال، يستخدم التقويم العربي سنة مختلفة من العام من التقويم الغريغوري المستخدمة من قبل معظم الدول الغربية.....لذلك لابد من أستخدام الكائن GregorianCalendar حتى نستطيع استخدام الكائن Calendar و ذلك على النحو التالى :

_ نقوم باستيراد الكائنات باستخدم الكود التالى :

الرمز:
import java.util.Calendar;
import java.util.GregorianCalendar;

_ للحصول على السنة الحالية نستخدم الكود التالى :

الرمز:
Calendar calendar = new GregorianCalendar(); 
 
    int year = calendar.get(Calendar.YEAR);
 
    System.out.println(year);

وكما تلاحظ فى الكود أعلاه قمنا فى السطر الاول باشتقاق مثيل من الكائن Calendar لكن بأستخدام الكائن GregorianCalendar ....بعد ذلك وفى السطر الثانى قمنا بالحصول على العام الحالى باستخدم الاسلوب او الطريقة Calendar.YEAR ....و يمكنك الوصول باقى التاريخ و الوقت على نفس المنوال و ذلك على النحو التالى :

الرمز:


Calendar calendar = new GregorianCalendar();

int year      = calendar.get(Calendar.YEAR);
int month      = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); // Jan = 0, not 1
int dayOfWeek  = calendar.get(Calendar.DAY_OF_WEEK);
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
int weekOfMonth= calendar.get(Calendar.WEEK_OF_MONTH);

int hour      = calendar.get(Calendar.HOUR);        // 12 hour clock
int hourOfDay  = calendar.get(Calendar.HOUR_OF_DAY); // 24 hour clock
int minute    = calendar.get(Calendar.MINUTE);
int second    = calendar.get(Calendar.SECOND);
int millisecond= calendar.get(Calendar.MILLISECOND);


بل يمكنك ايضا وضع التاريخ و الوقت الحالى بأستخدام الكود التالى :

الرمز:


Calendar calendar = new GregorianCalendar();

calendar.set(Calendar.YEAR, 2009);
calendar.set(Calendar.MONTH, 11); // 11 = december
calendar.set(Calendar.DAY_OF_MONTH, 24); // christmas eve

etc



4_ الكائن TimeZone .....هو أحد الكائنات التابعة للفئة java.util ويستخدم للوصول للتوقيت العالمى الموحد و يوجد طريقتين للحصول على التوقيت العالمى الموحد ..وهما على النحو التالى :

الاولى باستخدام الاسلوب getDefault و التى تقوم بارجاع التوقيت الافتراضى لجهازك الكمبيوتر الخاص بك و ذلك بأستخدام الكود التالى :


الرمز:


TimeZone timeZone = TimeZone.getDefault();


الثانية بأستخدام الاسلوب getTimeZone و التى تستخدم المعامل ID لتحديد المنقطة الزمنية بعينها على سبيل المثال الكود التالى :

الرمز:


TimeZone timeZone = TimeZone.getTimeZone("Europe/Copenhagen");


وكما
تلاحظ فقد وضعنا المنقطة المراد الحصول على زمنها Europe/Copenhagen كما يمنكنك الحصول على اسم المنطقة الزمنية باستخدام الاكواد التالية :

الرمز:


timeZone.getDisplayName();
timeZone.getID();
timeZone.getOffset( System.currentTimeMillis() );



الطريقة getOffset تقوم بارجاع الميلى ثانية للمنطقة الزمنية الممنوحة

- و يمكنك تحويل التاريخ والوقت في التقويم بين مناطق زمنية مختلفة. وفيما يلي مثال لكيفية القيام بذلك :

الرمز:


TimeZone timeZone1 = TimeZone.getTimeZone("America/Los_Angeles");
TimeZone timeZone2 = TimeZone.getTimeZone("Europe/Copenhagen");

Calendar calendar = new GregorianCalendar();

long timeCPH = calendar.getTimeInMillis();
System.out.println("timeCPH  = " + timeCPH);
System.out.println("hour    = " + calendar.get(Calendar.HOUR_OF_DAY));

calendar.setTimeZone(timeZone1);

long timeLA = calendar.getTimeInMillis();
System.out.println("timeLA  = " + timeLA);
System.out.println("hour    = " + calendar.get(Calendar.HOUR_OF_DAY));



5_ استخدام الكائن SimpleDateFormat لتنسيق الوقت و التاريخ ....وكما قلنا سابقا ان هذا الكائن ينتمى للفئة java.text و يتم استخدامه لتحليل وتنسيق الوقت و التاريخ وفقا لنمط التنسيق الذي تحدده بنفسك.....على سبيل المثال الكود التالى :

الرمز:


SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

String dateString = format.format( new Date()  );
 


وكما ترون فى السطر الاول قمنا باشتقاق مثيل للكائن SimpleDateFormat ثم مررنا له القيمة النصية

yyyy-MM-dd
وهو نمط التنسيق المطلوب للتاريخ والتي تعني 4 أرقام للسنة (سنة)، رقمين للشهر (MM) ورقمين لليوم (DD). يتم فصل مجموعات مكونة من قبل شرطات (-) ......و اليكم جميع الانماط المستخدمة فى التاريخ و الوقت مع بيان مدلولها على النحو التالى :







و الى هنا نكون قد أنتهينا من هذا الدرس الى اللقاء فى درس جديد إن شاء الله تعالى

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعرف على طرق و أساليب الوقت و التاريخ فى لغة الجافا و كيفية تنسيقهما

مُساهمة من طرف Solutions1 في الجمعة مايو 09, 2014 12:25 pm

عظيم جدا جدا اخى الفاضل

Solutions1
..
..

تاريخ التسجيل : 31/08/2013
المساهمات : 22
النقاط : 30
التقيم : 0
الدولة : السعودية
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعرف على طرق و أساليب الوقت و التاريخ فى لغة الجافا و كيفية تنسيقهما

مُساهمة من طرف زهراء في الإثنين مايو 26, 2014 2:08 pm

جزاكم الله خيرا

زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 372
التقيم : 24
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى