DateTime Android’de yaygın bir yardımcı programdır. Bu günlerde, projenin çoğu Android’de tarih ve saat formatı gerektiriyordu. Bu yüzden bir tak ve çalıştır çözümü inşa ediyoruz. Her geliştiricinin bu yardımcı programı kendi gelen kutusunda tutacağını umuyorum.zaman tasarrufuamaç. Bu derste, farklı-farklı tarih formatlama ve ayrıştırma gösteriyoruz
SimpleDateFormat, DateFormat java sınıfını genişleten bir java sınıfıdır. Yerelleştirme duyarlı bir biçimde normalleştirme, biçimlendirme ve ayrıştırma tarihi için kullanılır.
SimpleDateFormat Android’de aşağıdaki yardımcı program için kullanılır
- Biçimlendirme – Herhangi bir yerel ayarda Android’de Tarih Metin’e biçimlendirmeyi sağlar.
- Ayrıştırma – SimpleDateFormat’ı kullanarak Date nesnesindeki herhangi bir metni ayrıştırabilirsiniz.
Bazı özel Harfler, Android’de Tarih veya Saat Bileşeni’ni temsil etmek için kullanılır. Google Resmi sitesini okuyabilirsiniz .
Biçimlendirme
Burada bazı tarih formatlarını tartışıyoruz. Niyetim, tarih formatlarının her bir kombinasyonunu kapsamaktır.
DATE_FORMAT_1 = hh:mm a The output will be -: 10:37 am DATE_FORMAT_2 = h:mm a Output will be -: 10:37 am DATE_FORMAT_3 = yyyy-MM-dd The output will be -: 2018-12-05 DATE_FORMAT_4 = dd-MMMM-yyyy The output will be -: 05-December-2018 DATE_FORMAT_5 = dd MMMM yyyy The output will be -: 05 December 2018 DATE_FORMAT_6 = dd MMMM yyyy zzzz The output will be -: 05 December 2018 UTC DATE_FORMAT_7 = EEE, MMM d, ''yy The output will be -: Wed, Dec 5, '18 DATE_FORMAT_8 = yyyy-MM-dd HH:mm:ss The Output will be -: 2018-12-05 10:37:43 DATE_FORMAT_9 = h:mm a dd MMMM yyyy The output will be -: 10:37 am 05 December 2018 DATE_FORMAT_10 = K:mm a, z The output will be -: 10:37 am, UTC DATE_FORMAT_11 = hh 'o''clock' a, zzzz The output will be -: 10 o'clock am, UTC DATE_FORMAT_12 = yyyy-MM-dd'T'HH:mm:ss.SSS'Z' The output will be -: 2018-12-05T10:37:43.937Z DATE_FORMAT_13 = E, dd MMM yyyy HH:mm:ss z The output will be -: Wed, 05 Dec 2018 10:37:43 UTC DATE_FORMAT_14 = yyyy.MM.dd G 'at' HH:mm:ss z The output will be -: 2018.12.05 AD at 10:37:43 UTC DATE_FORMAT_15 = yyyyy.MMMMM.dd GGG hh:mm aaa The output will be -: 02018.D.05 AD 10:37 am DATE_FORMAT_16 = EEE, d MMM yyyy HH:mm:ss Z The output will be -: Wed, 5 Dec 2018 10:37:43 +0000 DATE_FORMAT_17 = yyyy-MM-dd'T'HH:mm:ss.SSSZ The output will be -: 2018-12-05T10:37:43.946+0000 DATE_FORMAT_18 = yyyy-MM-dd'T'HH:mm:ss.SSSXXX The output will be -: 2018-12-05T10:37:43.949Z DATE_FORMAT_19 = dd-MMM-yyyy The output will be -: 05-Dec-2018
Her şeyden önce tarih biçimi birleşimi. Şimdi yardımcı program geliyor.
Geçerli Tarihi Alın
örnek 1
/** * Default date format */ public static final String DATE_FORMAT_2 = "dd-MMM-yyyy"; public static String getCurrentDate() { SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_1); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); Date today = Calendar.getInstance().getTime(); return dateFormat.format(today); }
Şimdiki Zamanını Al
Örnek 2
/** * Default time format */ public static final String DATE_FORMAT_1 = "hh:mm a"; public static String getCurrentTime() { SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_1); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); Date today = Calendar.getInstance().getTime(); return dateFormat.format(today); }
Zaman Damgasından Tarih ve Saati Alın
Örnek 3
/** * * @param time in milliseconds (Timestamp) * @param mDateFormat SimpleDateFormat * @return */ public static String getDateTimeFromTimeStamp(Long time, String mDateFormat) { SimpleDateFormat dateFormat = new SimpleDateFormat(mDateFormat); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); Date dateTime = new Date(time); return dateFormat.format(dateTime); }
Bu nasıl kullanılır
/** * Get current date example 1 */ String mCurrentDate = DateUtils.getCurrentDate(); /** * Get current time example 2 */ String mCurrentTime = DateUtils.getCurrentTime(); /** * Date Format example 3 */ public static final String DATE_FORMAT = "dd-MMM-yyyy"; String mDateTime = DateUtils.getDateFromTimeStamp(System.currentTimeMillis(),DATE_FORMAT);
Android’de Tarih Ayrıştırma
Birkaç tarih ayrıştırma örneği ele alalım
Android’de DateTime’dan Zaman Damgası Alın
Örnek 4
/** * Get Timestamp from date and time * @param mDateTime datetime String * @param mDateFormat Date Format * @return * @throws ParseException */ public static long getTimeStampFromDateTime(String mDateTime, String mDateFormat) throws ParseException { SimpleDateFormat dateFormat = new SimpleDateFormat(mDateFormat); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); Date date = dateFormat.parse(mDateTime); return date.getTime(); }
Date örneklerinden DateTime al
Örnek 5
/** * Return datetime String from date object * @param mDateFormat format of date * @param date date object that you want to parse * @return */ public static String formatDateTimeFromDate(String mDateFormat, Date date) { if (date == null) { return null; } return DateFormat.format(mDateFormat, date).toString(); }
DateTime String’i başka bir DateTime String formatına dönüştür
Bu Android’de çok yararlı ve kafa karıştırıcı bir yardımcı programdır
Örnek 6
/** * Convert one date format string to another date format string in android * @param inputDateFormat Input SimpleDateFormat * @param outputDateFormat Output SimpleDateFormat * @param inputDate input Date String * @return * @throws ParseException */ public static String formatDateFromDateString(String inputDateFormat, String outputDateFormat, String inputDate) throws ParseException { Date mParsedDate; String mOutputDateString; SimpleDateFormat mInputDateFormat = new SimpleDateFormat(inputDateFormat, java.util.Locale.getDefault()); SimpleDateFormat mOutputDateFormat = new SimpleDateFormat(outputDateFormat, java.util.Locale.getDefault()); mParsedDate = mInputDateFormat.parse(inputDate); mOutputDateString = mOutputDateFormat.format(mParsedDate); return mOutputDateString; }
Nasıl kullanılır
/** * Date Format example 4 */ public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; String mDateTimeString = "2018-12-05 10:37:43"; try { long mTimestamp = DateUtils.getTimeStampFromDateTime(mDateTimeString, DATE_FORMAT); } catch (ParseException e) { e.printStackTrace(); } /** * Get current datetime example 5 */ public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; String mDateTime = DateUtils.formatDateTimeFromDate(DATE_FORMAT, Calendar.getInstance().getTime()); /** Example 6 * DateTime Input Format */ public static final String DATE_INPUT_FORMAT = "yyyy-MM-dd HH:mm:ss"; /** * DateTime Output Format */ public static final String DATE_OUTPUT_FORMAT = "dd-MMM-yyyy"; String mDateTimeString = "2018-12-05 10:37:43"; String mDateTime = null; try { mDateTime = DateUtils.formatDateFromDateString(DATE_INPUT_FORMAT, DATE_OUTPUT_FORMAT, mDateTimeString); } catch (ParseException e) { e.printStackTrace(); } The output is - 05-Dec-2018;
Utitliy’nin tamamı aşağıdaki gibi görünüyor
package com.androidwave.datetimeutils.utils; import android.text.format.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; public class DateUtils { private static final String TAG = "DateUtils"; public static final String DATE_FORMAT_1 = "hh:mm a"; public static final String DATE_FORMAT_2 = "h:mm a"; public static final String DATE_FORMAT_3 = "yyyy-MM-dd"; public static final String DATE_FORMAT_4 = "dd-MMMM-yyyy"; public static final String DATE_FORMAT_5 = "dd MMMM yyyy"; public static final String DATE_FORMAT_6 = "dd MMMM yyyy zzzz"; public static final String DATE_FORMAT_7 = "EEE, MMM d, ''yy"; public static final String DATE_FORMAT_8 = "yyyy-MM-dd HH:mm:ss"; public static final String DATE_FORMAT_9 = "h:mm a dd MMMM yyyy"; public static final String DATE_FORMAT_10 = "K:mm a, z"; public static final String DATE_FORMAT_11 = "hh 'o''clock' a, zzzz"; public static final String DATE_FORMAT_12 = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; public static final String DATE_FORMAT_13 = "E, dd MMM yyyy HH:mm:ss z"; public static final String DATE_FORMAT_14 = "yyyy.MM.dd G 'at' HH:mm:ss z"; public static final String DATE_FORMAT_15 = "yyyyy.MMMMM.dd GGG hh:mm aaa"; public static final String DATE_FORMAT_16 = "EEE, d MMM yyyy HH:mm:ss Z"; public static final String DATE_FORMAT_17 = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"; public static final String DATE_FORMAT_18 = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"; public static String getCurrentDate() { SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_1); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); Date today = Calendar.getInstance().getTime(); return dateFormat.format(today); } public static String getCurrentTime() { SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_1); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); Date today = Calendar.getInstance().getTime(); return dateFormat.format(today); } /** * @param time in milliseconds (Timestamp) * @param mDateFormat SimpleDateFormat * @return */ public static String getDateTimeFromTimeStamp(Long time, String mDateFormat) { SimpleDateFormat dateFormat = new SimpleDateFormat(mDateFormat); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); Date dateTime = new Date(time); return dateFormat.format(dateTime); } /** * Get Timestamp from date and time * * @param mDateTime datetime String * @param mDateFormat Date Format * @return * @throws ParseException */ public static long getTimeStampFromDateTime(String mDateTime, String mDateFormat) throws ParseException { SimpleDateFormat dateFormat = new SimpleDateFormat(mDateFormat); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); Date date = dateFormat.parse(mDateTime); return date.getTime(); } /** * Return datetime String from date object * * @param mDateFormat format of date * @param date date object that you want to parse * @return */ public static String formatDateTimeFromDate(String mDateFormat, Date date) { if (date == null) { return null; } return DateFormat.format(mDateFormat, date).toString(); } /** * Convert one date format string to another date format string in android * @param inputDateFormat Input SimpleDateFormat * @param outputDateFormat Output SimpleDateFormat * @param inputDate input Date String * @return * @throws ParseException */ public static String formatDateFromDateString(String inputDateFormat, String outputDateFormat, String inputDate) throws ParseException { Date mParsedDate; String mOutputDateString; SimpleDateFormat mInputDateFormat = new SimpleDateFormat(inputDateFormat, java.util.Locale.getDefault()); SimpleDateFormat mOutputDateFormat = new SimpleDateFormat(outputDateFormat, java.util.Locale.getDefault()); mParsedDate = mInputDateFormat.parse(inputDate); mOutputDateString = mOutputDateFormat.format(mParsedDate); return mOutputDateString; } }
GIPHY App Key not set. Please check settings