به دست آوردن ساعت و تاریخ فعلی در اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش به دست آوردن ساعت و تاریخ فعلی در اندروید می پردازیم شاید در برخی موارد لازم باشد که ساعت و تاریخ فعلی گوشی (کاربر) را به دست آوریم در ادامه با ما همراه باشید تا به شکل های مختلف به دست آوردن تاریخ و ساعت را یاد گیرید.
روش های مختلفی برای به دست آوردن تاریخ و زمان (Date & Time) وجود دارد یکی از آنها استفاده از کلاس Tفعime برای به دست آوردن ساعت است.
1 2 3 | Time time = new Time(); time.setToNow(); Log.d("TIME TEST", Long.toString(time.toMillis(false))); |
اگر بخواهید تاریخ و زمان را به درست آورید می توانید از کلاس SimpleDateFormat استفاده کنید.
1 2 | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss"); String currentDateandTime = sdf.format(new Date()); |
در بالا yyyy به معنی سال MM به معنی ماه dd به معنی روز و HH به معنی ساعت در فرمت 24 ساعت (اگر 12 ساعت می خواهید تنظیم شود مقدار hh را جایگزین کنید.) mm ماه و ss به معنی ثانیه می باشد.
یک مثال دیگر با استفاده از کلاس Calendar و DateFormat
1 2 | DateFormat df = new SimpleDateFormat("EEE, d MMM yyyy, HH:mm"); String date = df.format(Calendar.getInstance().getTime());در با |
در بالا کارکتر های مختلفی قرار داده شده است می توانید از sample که در ادامه قرار دارد می توانید آنها را متوجه شوید.
1 2 3 4 5 6 7 8 | "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 و دسترسی به ماه و سال و روز و ساعت
1 2 3 4 5 6 | 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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
1 2 3 4 | 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); |
مطنی کدهایی که نوشتی درست هستن خودت یه چک بکن این ها رو
من اگه بخوام در برنامه ای که میسازم ساعت و تاریخ رو عوض کنم، باید چطوری این کار رو بکنم؟