به دست آوردن ساعت و تاریخ فعلی در اندروید

امتیاز 5.00 ( 1 رای )

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش به دست آوردن ساعت و تاریخ فعلی در اندروید می پردازیم شاید در برخی موارد لازم باشد که ساعت و تاریخ فعلی گوشی (کاربر) را به دست آوریم در ادامه با ما همراه باشید تا به شکل های مختلف به دست آوردن تاریخ و ساعت را یاد گیرید.
 
روش های مختلفی برای به دست آوردن تاریخ و زمان (Date & Time) وجود دارد یکی از آنها استفاده از کلاس Tفعime برای به دست آوردن ساعت است.

Time time = new Time();
  time.setToNow();
Log.d("TIME TEST", Long.toString(time.toMillis(false)));

اگر بخواهید تاریخ  و زمان را به درست آورید می توانید از کلاس SimpleDateFormat استفاده کنید.

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
String currentDateandTime = sdf.format(new Date());

در بالا yyyy به معنی سال MM به معنی ماه dd به معنی روز و HH به معنی ساعت در فرمت 24 ساعت (اگر 12 ساعت می خواهید تنظیم شود مقدار hh را جایگزین کنید.) mm ماه و ss به معنی ثانیه می باشد.
یک مثال دیگر با استفاده از کلاس Calendar و DateFormat

DateFormat df = new SimpleDateFormat("EEE, d MMM yyyy, HH:mm");
String date = df.format(Calendar.getInstance().getTime());در با

در بالا کارکتر های مختلفی قرار داده شده است می توانید از sample که در ادامه  قرار دارد می توانید آنها را متوجه شوید.

"yyyy.MM.dd G 'at' HH:mm:ss z" ---- 2001.07.04 AD at 12:08:56 PDT
"hh 'o''clock' a, zzzz" ----------- 12 o'clock PM, Pacific Daylight Time
"EEE, d MMM yyyy HH:mm:ss Z"------- Wed, 4 Jul 2001 12:08:56 -0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"------- 2001-07-04T12:08:56.235-0700
"yyMMddHHmmssZ"-------------------- 010704120856-0700
"K:mm a, z" ----------------------- 0:08 PM, PDT
"h:mm a" -------------------------- 12:08 PM
"EEE, MMM d, ''yy" ---------------- Wed, Jul 4, '01

سمت چپ هر کارکتر قرار داده شده است و result آن نیز روبه روی آن قرار گرفته است.
به درست آوردن زمانی و تاریخ فعلی با استفاده از کلاس Time و دسترسی به ماه و سال و روز و ساعت

Time today = new Time(Time.getCurrentTimezone());
today.setToNow();
String day = (today.monthDay + "");             // Day of the month (1-31)
String month = (today.month + "");              // Month (0-11)
String year = (today.year + "");                // Year
String time  = (today.format("%k:%M:%S"));  // Current time

ساده ترین روش برای به دست آوردن ساعت و تاریخ کد بالاست البته این کلاس دارای نقص هایی نیز هست به همین علت استفاده از آن را توصیه نمی کنند.
مثال دیگر برای SimpleDateFormat

SimpleDateFormat databaseDateTimeFormate = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat databaseDateFormate = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf1 = new SimpleDateFormat("dd.MM.yy");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy.MM.dd G 'at' hh:mm:ss z");
SimpleDateFormat sdf3 = new SimpleDateFormat("EEE, MMM d, ''yy");
SimpleDateFormat sdf4 = new SimpleDateFormat("h:mm a");
SimpleDateFormat sdf5 = new SimpleDateFormat("h:mm");
SimpleDateFormat sdf6 = new SimpleDateFormat("H:mm:ss:SSS");
SimpleDateFormat sdf7 = new SimpleDateFormat("K:mm a,z");
SimpleDateFormat sdf8 = new SimpleDateFormat("yyyy.MMMMM.dd GGG hh:mm aaa");
String currentDateandTime = databaseDateTimeFormate.format(new Date());     //2009-06-30 08:29:36
String currentDateandTime = databaseDateFormate.format(new Date());     //2009-06-30
String currentDateandTime = sdf1.format(new Date());     //30.06.09
String currentDateandTime = sdf2.format(new Date());     //2009.06.30 AD at 08:29:36 PDT
String currentDateandTime = sdf3.format(new Date());     //Tue, Jun 30, '09
String currentDateandTime = sdf4.format(new Date());     //8:29 PM
String currentDateandTime = sdf5.format(new Date());     //8:29
String currentDateandTime = sdf6.format(new Date());     //8:28:36:249
String currentDateandTime = sdf7.format(new Date());     //8:29 AM,PDT
String currentDateandTime = sdf8.format(new Date());     //2009.June.30 AD 08:29 AM

به دست آوردن تاریخ با استفاده از کلاس Calendar

final Calendar c = Calendar.getInstance();
    int mYear = c.get(Calendar.YEAR);
    int mMonth = c.get(Calendar.MONTH);
    int mDay = c.get(Calendar.DAY_OF_MONTH);

 
 

مطالعه بیشتر