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

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

اذهب الى الأسفل

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

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

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


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

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

الكود:
long time = System.currentTimeMillis();
 
    System.out.println(time);



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


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

و كما ترى فى الصورة فإن الوقت تم طباعته بالملى ثانية و بدون تنسيق لذلك سوف نستخدم الطريقة 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 تعنى الثوانى وبالتالى فعند تشغيل البرنامج سيكون الناتج كما يلى :



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

ويمكنك ملاحظة أن صيغة الوقت السابقة 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). يتم فصل مجموعات مكونة من قبل شرطات (-) ......و اليكم جميع الانماط المستخدمة فى التاريخ و الوقت مع بيان مدلولها على النحو التالى :




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


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

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

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

https://egy-tech.forumegypt.net

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

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

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

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

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

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

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

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

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

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

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

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


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