به دست آوردن ساعت و تاریخ فعلی در اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش به دست آوردن ساعت و تاریخ فعلی در اندروید می پردازیم شاید در برخی موارد لازم باشد که ساعت و تاریخ فعلی گوشی (کاربر) را به دست آوریم در ادامه با ما همراه باشید تا به شکل های مختلف به دست آوردن تاریخ و ساعت را یاد گیرید.
روش های مختلفی برای به دست آوردن تاریخ و زمان (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);
آموزش برنامه نویسی اندروید |
مطنی کدهایی که نوشتی درست هستن خودت یه چک بکن این ها رو
من اگه بخوام در برنامه ای که میسازم ساعت و تاریخ رو عوض کنم، باید چطوری این کار رو بکنم؟