本文整理汇总了Java中android.text.format.DateUtils.FORMAT_ABBREV_ALL属性的典型用法代码示例。如果您正苦于以下问题:Java DateUtils.FORMAT_ABBREV_ALL属性的具体用法?Java DateUtils.FORMAT_ABBREV_ALL怎么用?Java DateUtils.FORMAT_ABBREV_ALL使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类android.text.format.DateUtils
的用法示例。
在下文中一共展示了DateUtils.FORMAT_ABBREV_ALL属性的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: formatTime
public static String formatTime(Context context, long when) {
// TODO: DateUtils should make this easier
Time then = new Time();
then.set(when);
Time now = new Time();
now.setToNow();
int flags = DateUtils.FORMAT_NO_NOON | DateUtils.FORMAT_NO_MIDNIGHT | DateUtils.FORMAT_ABBREV_ALL;
if (then.year != now.year) {
flags |= DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_DATE;
} else if (then.yearDay != now.yearDay) {
flags |= DateUtils.FORMAT_SHOW_DATE;
} else {
flags |= DateUtils.FORMAT_SHOW_TIME;
}
return DateUtils.formatDateTime(context, when, flags);
}
示例2: getFriendlyDateString
/**
* Helper method to convert the database representation of the date into something to display
* to users. As classy and polished a user experience as "1474061664" is, we can do better.
* <p/>
* The day string for forecast uses the following logic:
* For today: "Today, June 8"
* For tomorrow: "Tomorrow
* For the next 5 days: "Wednesday" (just the day name)
* For all days after that: "Mon, Jun 8" (Mon, 8 Jun in UK, for example)
*
* @param context Context to use for resource localization
* @param normalizedUtcMidnight The date in milliseconds (UTC midnight)
* @param showFullDate Used to show a fuller-version of the date, which always
* contains either the day of the week, today, or tomorrow, in
* addition to the date.
*
* @return A user-friendly representation of the date such as "Today, June 8", "Tomorrow",
* or "Friday"
*/
public static String getFriendlyDateString(Context context, long normalizedUtcMidnight, boolean showFullDate) {
/*
* NOTE: localDate should be localDateMidnightMillis and should be straight from the
* database
*
* Since we normalized the date when we inserted it into the database, we need to take
* that normalized date and produce a date (in UTC time) that represents the local time
* zone at midnight.
*/
long localDate = getLocalMidnightFromNormalizedUtcDate(normalizedUtcMidnight);
/*
* In order to determine which day of the week we are creating a date string for, we need
* to compare the number of days that have passed since the epoch (January 1, 1970 at
* 00:00 GMT)
*/
long daysFromEpochToProvidedDate = elapsedDaysSinceEpoch(localDate);
/*
* As a basis for comparison, we use the number of days that have passed from the epoch
* until today.
*/
long daysFromEpochToToday = elapsedDaysSinceEpoch(System.currentTimeMillis());
if (daysFromEpochToProvidedDate == daysFromEpochToToday || showFullDate) {
/*
* If the date we're building the String for is today's date, the format
* is "Today, June 24"
*/
String dayName = getDayName(context, localDate);
String readableDate = getReadableDateString(context, localDate);
if (daysFromEpochToProvidedDate - daysFromEpochToToday < 2) {
/*
* Since there is no localized format that returns "Today" or "Tomorrow" in the API
* levels we have to support, we take the name of the day (from SimpleDateFormat)
* and use it to replace the date from DateUtils. This isn't guaranteed to work,
* but our testing so far has been conclusively positive.
*
* For information on a simpler API to use (on API > 18), please check out the
* documentation on DateFormat#getBestDateTimePattern(Locale, String)
* https://developer.android.com/reference/android/text/format/DateFormat.html#getBestDateTimePattern
*/
String localizedDayName = new SimpleDateFormat("EEEE").format(localDate);
return readableDate.replace(localizedDayName, dayName);
} else {
return readableDate;
}
} else if (daysFromEpochToProvidedDate < daysFromEpochToToday + 7) {
/* If the input date is less than a week in the future, just return the day name. */
return getDayName(context, localDate);
} else {
int flags = DateUtils.FORMAT_SHOW_DATE
| DateUtils.FORMAT_NO_YEAR
| DateUtils.FORMAT_ABBREV_ALL
| DateUtils.FORMAT_SHOW_WEEKDAY;
return DateUtils.formatDateTime(context, localDate, flags);
}
}
示例3: getFriendlyDateString
/**
* Helper method to convert the database representation of the date into something to display
* to users. As classy and polished a user experience as "20140102" is, we can do better.
* <p/>
* The day string for forecast uses the following logic:
* For today: "Today, June 8"
* For tomorrow: "Tomorrow"
* For the next 5 days: "Wednesday" (just the day name)
* For all days after that: "Mon, Jun 8" (Mon, 8 Jun in UK, for example)
*
* @param context Context to use for resource localization
* @param dateInMillis The date in milliseconds (UTC)
* @param showFullDate Used to show a fuller-version of the date, which always contains either
* the day of the week, today, or tomorrow, in addition to the date.
*
* @return A user-friendly representation of the date such as "Today, June 8", "Tomorrow",
* or "Friday"
*/
public static String getFriendlyDateString(Context context, long dateInMillis, boolean showFullDate) {
long localDate = getLocalDateFromUTC(dateInMillis);
long dayNumber = getDayNumber(localDate);
long currentDayNumber = getDayNumber(System.currentTimeMillis());
if (dayNumber == currentDayNumber || showFullDate) {
/*
* If the date we're building the String for is today's date, the format
* is "Today, June 24"
*/
String dayName = getDayName(context, localDate);
String readableDate = getReadableDateString(context, localDate);
if (dayNumber - currentDayNumber < 2) {
/*
* Since there is no localized format that returns "Today" or "Tomorrow" in the API
* levels we have to support, we take the name of the day (from SimpleDateFormat)
* and use it to replace the date from DateUtils. This isn't guaranteed to work,
* but our testing so far has been conclusively positive.
*
* For information on a simpler API to use (on API > 18), please check out the
* documentation on DateFormat#getBestDateTimePattern(Locale, String)
* https://developer.android.com/reference/android/text/format/DateFormat.html#getBestDateTimePattern
*/
String localizedDayName = new SimpleDateFormat("EEEE").format(localDate);
return readableDate.replace(localizedDayName, dayName);
} else {
return readableDate;
}
} else if (dayNumber < currentDayNumber + 7) {
/* If the input date is less than a week in the future, just return the day name. */
return getDayName(context, localDate);
} else {
int flags = DateUtils.FORMAT_SHOW_DATE
| DateUtils.FORMAT_NO_YEAR
| DateUtils.FORMAT_ABBREV_ALL
| DateUtils.FORMAT_SHOW_WEEKDAY;
return DateUtils.formatDateTime(context, localDate, flags);
}
}