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

بنام خدا

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

برای کار با تاریخ و زمان جاوا کلاس Date از پکیج java.util  ارا ائه داده . وقتی یک نمونه شی از نوع Date تعریف میکنیم میتونیم در دو حالت این کار رو انجام بدیم . یعنی این کلاس دو تا سازنده داره یکی هیچ پارامتری نمیگیره و دیگری تعداد میلی ثانیه از تاریخ 1 ژانویه 1970 رو بعنوان پارامتر میگیره .


Date date=new Date();//حالت اول بدون پارامتر
Date date=new Date(long millisecond);//با پارامتر

وقتی شی رو از نوع کلاس Date تعریف کردیم میتونیم با توابع زیر با تاریخ کار کنیم :

boolean after(Date date) مقدار درستی را در صورتی که تاریخ سیستم بعد از تاریخ داده شده بصورت پارامتر باشد برمیگرداند.
boolean before(Date date) مقدار درستی را در صورتی که تاریخ سیستم قبل از تاریخ داده شده بصورت پارامتر باشد برمیگرداند.
Object clone( ) برای کپی کردن شی تعریف شده.
int compareTo(Date date) مقایسه تاریع سیستم با تاریخ پارامتر در صورتی که برابر با شند مقدار 0 در صورتی که تاریخ سیستم قبل باشه مقدار منفی و در صورتی که بعد باشه مقدار مثبت بر میگردونه.
int compareTo(Object obj) بررسی اینکه کلاس داده شده در پارامتر از نوع تاریخ هست یا نه .
boolean equals(Object date) مقایسه تاریخ موجود با تاریخ و زمان پارامتر و بازگشت مقدار درستی در صورت برابر بودن.
long getTime( ) بازگرداندن تعداد میلی ثانیه از تاریخ 1 ژانویه 1970.
int hashCode( ) بازگرداندن کد هش شده شی تعریف شده .
void setTime(long time) تنظیم زمان با دادن تعداد میلی ثانیه از 1 ژانویه 1970
تبدیل تاریخ به رشته.

گرفتن تاریخ و زمان فعلی سیستم :

 import java.util.Date;

    public class DateDemo {
        public static void main(String  args[]) {
            // ایجاد شی  تاریخ
            Date date =  new Date();

            // نمایش  تاریخ
             System.out.println(date.toString());
        }
} 

 

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

 Mon May 04 09:51:52 CDT 2009 

 

مقایسه تاریخ در جاوا :

برای مقایسه تاریخ در جاوا سه تا راه داریم :

- میتونید با تابع getTime()  تعداد میلی ثانیه از سال 1970 رو برای هردو شی Date بدست بیارید بعد اونهارو با هم مقایسه کنید .

- میتونید از توابع before , after , equals استفاده کنید

 new Date(99, 2, 12).before(new Date (99, 2, 18))//که مقدار درستی رو برمیگردونه 

 

- یا میتونید از تابع compareTo() استفاده کنید .

فرمت بندی تاریخ توسط SimpleDateFormat :

به کمک این کلاس میشه هر الگویی به نمایش تاریخ داد :

 import java.util.*;
import java.text.*;
public class DateDemo {
    public static void main(String args[]) {

        Date dNow = new Date( );
        SimpleDateFormat ft = 
        new SimpleDateFormat ("E yyyy.MM.dd  'at' hh:mm:ss a zzz");

        System.out.println("Current Date: " +  ft.format(dNow));
    }
} 

 

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

 Current Date: Sun 2004.07.18 at 04:14:09 PM PDT 

 

لیست کاراکتر های خاص برای استفاده در فرمت بند ی نمایش تاریخ در جاوا :

کاراکتر توضیحات مثال
G نوع فرمت تاریخ AD
y چهاررقم سال 2001
M نام یا شماره ماه در سال July or 07
d روز در ماه 10
h ساعت در فرمت 12 ساعته 12
H ساعت در فرمت 24 ساعته 22
m دقیقه از ساعت 30
s ثانیه از دقیقه 55
S میلی ثانیه 234
E نام روز هفته Tuesday
D روز در سال 360
F روز از هفته در ماه 2 (second Wed. in July)
w هفته از سال 40
W هفته از ماه 1
a نوشتن قبل یا بعد ظهر PM
k ساعت از روز 24 ساعته 24
K ساعت از روز 12 ساعته 10
z منطقه زمانی Eastern Standard Time
' بازگشت به اول متن Delimiter
" نمایش تک کتیشن `

داستان کلاس Date هنوز ادامه داره توی جلسه بعد در خدمتتون هستیم تا اون موقع در پناه حق....

 


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

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