کار باتاریخ ورزمان در جاوا

بنام خدا :  آخرین جلسه از بحث تاریخ و زمان در جاوا رو باهم امروز بحث میکنیم .

شما میتونید با برنامه زیر برای مدت زمانی که میخوایید به خواب برید !. یعنی یک پروسس رو غیر فعال کنید تا کاری انجام نده یه به اصطلاح یک تاخیر ایجاد بشه ...


import java.util.*;

public class SleepDemo {
    public static void main(String args[]) {
        try { 
            
System.out.println(new Date( ) + "\n"); 
            
Thread.sleep(5*60*10); 
            
System.out.println(new Date( ) + "\n"); 
        }catch (Exception e) { 
            
System.out.println("Got an exception!"); 
        }
    }
}

این برنامه نتیجه پایین رو به همراه داره :


Sun May 03 18:04:41 GMT 2014
//کمی تاخیر
Sun May 03 18:04:51 GMT 2014

محاسبه زمان سپری شده :

برخی اوقات نیاز داریم که زمان سپری شده بین انجام دو یا چند کار رو محاسبه کنیم برای اینکار به برنامه زیر دقت کنید :


import java.util.*;

public class DiffDemo {

    public static void main(String args[]) {
        try {
                        
long start = System.currentTimeMillis( );//ذخیره زمان کنونی بر اساس میلی ثانیه از مبدا تاریخ کامپیوتر
                        
System.out.println(new Date( ) + "\n");
                        
Thread.sleep(5*60*10);//ایجاد یک تاخیر 
                        
System.out.println(new Date( ) + "\n");
                        
long end = System.currentTimeMillis( );//محاسبه زمان کنونی بعد از تاخیر ایجاد شده
                        
long diff = end - start;//محاسبه تفاوت زمان اجرای کد اول و تاخیر و اجرای کد دوم بعد از تاخیر
                        
System.out.println("Difference is : " + diff);
            } catch(Exception e) {
                        
System.out.println("Got an exception!");
            }
       }
}

 


Sun May 03 18:16:51 GMT 2009

Sun May 03 18:16:57 GMT 2009

Difference is : 5993

 

کار با تقویم میلادی در جاوا :

برای کار با تقویم میلادی در جاوا باید یک نمونه شی از نوع تقویم به شیوه هایی که در پایین گفته شده ایجاد کنیم :

GregorianCalendar calendar=GregorianCalendar() ; تنظیم تاریخ پیشفرض تقویم رو تاریخ سیستم
GregorianCalendar calendar=GregorianCalendar(int year, int month, int date) تنظیم تاریخ پیشفرض بصورت سفارشی البته منطقه زمانی و تنظیمات دیگر رو از سیستم برمیداره.
GregorianCalendar calendar=GregorianCalendar(int year, int month, int date, int hour, int minute) تنظیم تاریخ و زمان در تعریف شی تقویم
GregorianCalendar calendar=GregorianCalendar(int year, int month, int date, int hour, int minute, int second) تنظیم تاریخ و زمان با دقت ثانیه.
GregorianCalendar calendar=GregorianCalendar(Locale aLocale) تنظیم پیکربندی محلی برای تاریخ و زمان.
GregorianCalendar calendar=GregorianCalendar(TimeZone zone) تنظیم منطقه زمانی.
GregorianCalendar calendar=GregorianCalendar(TimeZone zone, Locale aLocale) تنظیم منطقه زمانی و پیکربندی محلی برای تاریخ در زمان تعریف شی.

توی جدول زیر لیست توابع  یا همون متدهای کار با شی تقویم رو داریم

void add(int field, int amount) افزودن یک مقدار به یک واحد زمانی طبق قوانین شی تقویم.
protected void computeFields() تبدیل میلی ثانیه به زمان استاندارد.
protected void computeTime() تبدیل تاریخ به میلی ثانیه.
int get(int field) گرفتن مقدار زمان  عدد داده شده.
int getActualMaximum(int field) بادادن فیلد تاریخ  بزرگترین مقدار ممکن برای فیلد را بازمیگرداند.
int getActualMinimum(int field) بادادن فیلد تاریخ کوچکترین مقدار ممکن برای فیلد را بازمیگرداند.
int getGreatestMinimum(int field) دریافت بزرگترین مینیمم فیلد داده شده.
Date getGregorianChange() دریافت تاریخ تغییر یاقته تقویم.
int getLeastMaximum(int field) دریافت کوچکترین ماکزیمم فیلد داده شده.
int getMaximum(int field) دریافت بیشتریم مقدار فیلد داده شده.
Date getTime() دریافت زمان کنونی تقویم.
long getTimeInMillis() دریافت تاریخ بر حسب مقدار عدد صحیح.
TimeZone getTimeZone() دریافت منطقه زمانی تنظیم شده در تقویم.
int getMinimum(int field) بازگشت کوچکترین مقدار از فیلد داده شده.
boolean isLeapYear(int year) تعیین اینکه آیا سال کبیسه است یا نه.
void roll(int field, boolean up) کم یا زیاد کردن یک واحد به زمان داده شده.
void set(int field, int value) تنظیم فیلد زمان با مقدار داده شده.
void set(int year, int month, int date) تنظیم تاریخ بر حسب پارامتر های داده شده.
void set(int year, int month, int date, int hour, int minute) تنظیم تاریخ بر حسب پارامتر های داده شده.
void set(int year, int month, int date, int hour, int minute, int second) تنظیم تاریخ بر حسب پارامتر های داده شده.
void setGregorianChange(Date date) تنظیم تغییر تاریخ در تقویم.
void setTime(Date date) تنظیم زمان تقویم به زمان داده شده در پارامتر.
void setTimeInMillis(long millis) محاسبه زمان کنونی از زمان داده شده در پارامتر.
void setTimeZone(TimeZone value) تنظیم منطقه زمانی.

برای جمع بندی تاریخ و زمان در جاوا و کار باتقویم در جاوا مثال زیر رو اجرا کنید و نتیجه رو ببینید .


import java.util.*;

public class GregorianCalendarDemo {

    public static void main(String args[]) {
        String months[] = {
            "Jan", "Feb", 
"Mar", "Apr",
            "May", "Jun", 
"Jul", "Aug",
            "Sep", "Oct", 
"Nov", "Dec"};

        int year;
        // ساخت یک شی از نوع تقویم
        // با تاریخ و زمان فعلی سیستم
        // و منطقه زمانی پیش فرض سیستم.
        GregorianCalendar gcalendar = new GregorianCalendar();
        // نمایش تاریخ فعلی و جزییات آن.
        System.out.print("Date: ");
        
System.out.print(months[gcalendar.get(Calendar.MONTH)]);
        System.out.print(" " + gcalendar.get(Calendar.DATE) + " ");
        System.out.println(year = gcalendar.get(Calendar.YEAR));
        System.out.print("Time: ");
        
System.out.print(gcalendar.get(Calendar.HOUR) + ":");
        
System.out.print(gcalendar.get(Calendar.MINUTE) + ":");
        
System.out.println(gcalendar.get(Calendar.SECOND));

        // بررسی اینکه سال کبیسه است یا نه
        if(gcalendar.isLeapYear(year)) {
            
System.out.println("The current year is a leap year");
        }
else {
        System.out.println("The current year is not a leap year");
        }
    }
}

نتیجه اجرای کد بالا


Date: Apr 22 2014
Time: 11:25:27
The current year is not a leap year

 

تا جلسه بعد در پناه خدا ....


فایلهای ضمیمه
توجه! هیچ فایل ضمیمه ای برای این مطلب یافت نشد

نظرات شما نظر جدید