Most visited

Recently visited

Added in API level 3

DateUtils

public class DateUtils
extends Object

java.lang.Object
   ↳ android.text.format.DateUtils


这个类包含各种日期相关的实用程序,用于创建文本,如经过的时间和日期范围,一周中的几天和几个月的字符串以及AM / PM文本等。

Summary

Constants

String ABBREV_MONTH_FORMAT

此常数在API级别17中已弃用。请改用SimpleDateFormat

String ABBREV_WEEKDAY_FORMAT

long DAY_IN_MILLIS

int FORMAT_12HOUR

int FORMAT_24HOUR

int FORMAT_ABBREV_ALL

int FORMAT_ABBREV_MONTH

int FORMAT_ABBREV_RELATIVE

int FORMAT_ABBREV_TIME

int FORMAT_ABBREV_WEEKDAY

int FORMAT_CAP_AMPM

int FORMAT_CAP_MIDNIGHT

int FORMAT_CAP_NOON

int FORMAT_CAP_NOON_MIDNIGHT

int FORMAT_NO_MIDNIGHT

int FORMAT_NO_MONTH_DAY

int FORMAT_NO_NOON

int FORMAT_NO_NOON_MIDNIGHT

int FORMAT_NO_YEAR

int FORMAT_NUMERIC_DATE

int FORMAT_SHOW_DATE

int FORMAT_SHOW_TIME

int FORMAT_SHOW_WEEKDAY

int FORMAT_SHOW_YEAR

int FORMAT_UTC

此常数在API级别9中已弃用。请使用formatDateRange并在时间Time.TIMEZONE_UTC内传入Time.TIMEZONE_UTC

long HOUR_IN_MILLIS

String HOUR_MINUTE_24

此常数在API级别17中已弃用。请改用SimpleDateFormat

int LENGTH_LONG

此常数在API级别17中已弃用。请改用SimpleDateFormat

int LENGTH_MEDIUM

此常数在API级别17中已弃用。请改用SimpleDateFormat

int LENGTH_SHORT

此常数在API级别17中已弃用。请改用SimpleDateFormat

int LENGTH_SHORTER

此常数在API级别17中已弃用。请改用SimpleDateFormat

int LENGTH_SHORTEST

此常数在API级别17中已弃用。请改用SimpleDateFormat

long MINUTE_IN_MILLIS

String MONTH_DAY_FORMAT

String MONTH_FORMAT

String NUMERIC_MONTH_FORMAT

long SECOND_IN_MILLIS

String WEEKDAY_FORMAT

long WEEK_IN_MILLIS

String YEAR_FORMAT

String YEAR_FORMAT_TWO_DIGITS

long YEAR_IN_MILLIS

这个常数实际上是364天的长度,而不是一年!

Fields

public static final int[] sameMonthTable

此字段在API级别17中已弃用。请勿使用。

public static final int[] sameYearTable

此字段在API级别17中已弃用。请勿使用。

Public constructors

DateUtils()

Public methods

static Formatter formatDateRange(Context context, Formatter formatter, long startMillis, long endMillis, int flags, String timeZone)

根据当地惯例格式化日期或时间范围。

static Formatter formatDateRange(Context context, Formatter formatter, long startMillis, long endMillis, int flags)

根据当地惯例格式化日期或时间范围。

static String formatDateRange(Context context, long startMillis, long endMillis, int flags)

根据当地惯例格式化日期或时间范围。

static String formatDateTime(Context context, long millis, int flags)

根据当地惯例格式化日期或时间。

static String formatElapsedTime(StringBuilder recycle, long elapsedSeconds)

使用“MM:SS”或“H:MM:SS”格式(使用适合当前语言环境的格式)格式化已用时间,类似于进行中调用画面中使用的格式。

static String formatElapsedTime(long elapsedSeconds)

格式化“MM:SS”或“H:MM:SS”形式的经过时间,以便在进行中的调用屏幕上显示。

static final CharSequence formatSameDayTime(long then, long now, int dateStyle, int timeStyle)

格式化日期/时间,以便如果当天与当天同日,则只显示时间,如果是不同日期,则只显示日期。

static String getAMPMString(int ampm)

此方法在API级别17中已弃用。请改用SimpleDateFormat

static String getDayOfWeekString(int dayOfWeek, int abbrev)

此方法在API级别17中已弃用。请改用SimpleDateFormat

static String getMonthString(int month, int abbrev)

此方法在API级别17中已弃用。请改用SimpleDateFormat

static CharSequence getRelativeDateTimeString(Context c, long time, long minResolution, long transitionResolution, int flags)

返回字符串,描述自startTime格式化后的经过时间,如“[相对时间/日期],[时间]”。

static CharSequence getRelativeTimeSpanString(Context c, long millis, boolean withPreposition)
static CharSequence getRelativeTimeSpanString(long time, long now, long minResolution, int flags)

返回描述'时间'的字符串,作为相对于'now'的时间。

static CharSequence getRelativeTimeSpanString(long startTime)

返回一个字符串,描述自startTime以来经过的时间。

static CharSequence getRelativeTimeSpanString(long time, long now, long minResolution)

返回描述'时间'的字符串,作为相对于'now'的时间。

static CharSequence getRelativeTimeSpanString(Context c, long millis)

便利功能,无需介词即可返回相对时间字符串。

static boolean isToday(long when)

Inherited methods

From class java.lang.Object

Constants

ABBREV_MONTH_FORMAT

Added in API level 3
String ABBREV_MONTH_FORMAT

此常数在API级别17中已弃用。
改用SimpleDateFormat

这在所有语言环境中实际上并不是有用的月份名称。

常量值:“%b”

ABBREV_WEEKDAY_FORMAT

Added in API level 3
String ABBREV_WEEKDAY_FORMAT

常量值:“%a”

DAY_IN_MILLIS

Added in API level 3
long DAY_IN_MILLIS

常量值:86400000(0x0000000005265c00)

FORMAT_12HOUR

Added in API level 3
int FORMAT_12HOUR

常量值:64(0x00000040)

FORMAT_24HOUR

Added in API level 3
int FORMAT_24HOUR

常量值:128(0x00000080)

FORMAT_ABBREV_ALL

Added in API level 3
int FORMAT_ABBREV_ALL

常量值:524288(0x00080000)

FORMAT_ABBREV_MONTH

Added in API level 3
int FORMAT_ABBREV_MONTH

常量值:65536(0x00010000)

FORMAT_ABBREV_RELATIVE

Added in API level 3
int FORMAT_ABBREV_RELATIVE

常量值:262144(0x00040000)

FORMAT_ABBREV_TIME

Added in API level 3
int FORMAT_ABBREV_TIME

常量值:16384(0x00004000)

FORMAT_ABBREV_WEEKDAY

Added in API level 3
int FORMAT_ABBREV_WEEKDAY

常量值:32768(0x00008000)

FORMAT_CAP_AMPM

Added in API level 3
int FORMAT_CAP_AMPM

常量值:256(0x00000100)

FORMAT_CAP_MIDNIGHT

Added in API level 3
int FORMAT_CAP_MIDNIGHT

常量值:4096(0x00001000)

FORMAT_CAP_NOON

Added in API level 3
int FORMAT_CAP_NOON

常量值:1024(0x00000400)

FORMAT_CAP_NOON_MIDNIGHT

Added in API level 3
int FORMAT_CAP_NOON_MIDNIGHT

常量值:5120(0x00001400)

FORMAT_NO_MIDNIGHT

Added in API level 3
int FORMAT_NO_MIDNIGHT

常量值:2048(0x00000800)

FORMAT_NO_MONTH_DAY

Added in API level 3
int FORMAT_NO_MONTH_DAY

常量值:32(0x00000020)

FORMAT_NO_NOON

Added in API level 3
int FORMAT_NO_NOON

常量值:512(0x00000200)

FORMAT_NO_NOON_MIDNIGHT

Added in API level 3
int FORMAT_NO_NOON_MIDNIGHT

常量值:2560(0x00000a00)

FORMAT_NO_YEAR

Added in API level 3
int FORMAT_NO_YEAR

常量值:8(0x00000008)

FORMAT_NUMERIC_DATE

Added in API level 3
int FORMAT_NUMERIC_DATE

常量值:131072(0x00020000)

FORMAT_SHOW_DATE

Added in API level 3
int FORMAT_SHOW_DATE

常量值:16(0x00000010)

FORMAT_SHOW_TIME

Added in API level 3
int FORMAT_SHOW_TIME

常数值:1(0x00000001)

FORMAT_SHOW_WEEKDAY

Added in API level 3
int FORMAT_SHOW_WEEKDAY

常量值:2(0x00000002)

FORMAT_SHOW_YEAR

Added in API level 3
int FORMAT_SHOW_YEAR

常量值:4(0x00000004)

FORMAT_UTC

Added in API level 3
int FORMAT_UTC

此常数在API级别9中已弃用。
formatDateRange使用formatDateRange并在时间Time.TIMEZONE_UTC内传入Time.TIMEZONE_UTC

常量值:8192(0x00002000)

HOUR_IN_MILLIS

Added in API level 3
long HOUR_IN_MILLIS

常量值:3600000(0x000000000036ee80)

HOUR_MINUTE_24

Added in API level 3
String HOUR_MINUTE_24

此常数在API级别17中已弃用。
改为使用SimpleDateFormat

这在所有语言环境中都不是首选的24小时日期格式。

常数值:“%H:%M”

LENGTH_LONG

Added in API level 3
int LENGTH_LONG

此常数在API级别17中已弃用。
改为使用SimpleDateFormat

要求提供完整的拼写名称。 用于getDayOfWeekString(int, int)getMonthString(int, int)的'abbrev'参数。

常量值:10(0x0000000a)

LENGTH_MEDIUM

Added in API level 3
int LENGTH_MEDIUM

此常数在API级别17中已弃用。
改为使用SimpleDateFormat

请求名称的缩写版本。 用于getDayOfWeekString(int, int)getMonthString(int, int)的'abbrev'参数。

常量值:20(0x00000014)

LENGTH_SHORT

Added in API level 3
int LENGTH_SHORT

此常数在API级别17中已弃用。
改为使用SimpleDateFormat

请求缩写名称的缩写版本。 用于getDayOfWeekString(int, int)getMonthString(int, int)的'abbrev'参数。

常量值:30(0x0000001e)

LENGTH_SHORTER

Added in API level 3
int LENGTH_SHORTER

此常数在API级别17中已弃用。
改为使用SimpleDateFormat

请求更简短的名称缩写版本。 不要使用这个。 目前这总是会返回与LENGTH_SHORT相同的结果。

常量值:40(0x00000028)

LENGTH_SHORTEST

Added in API level 3
int LENGTH_SHORTEST

此常数在API级别17中已弃用。
改为使用SimpleDateFormat

请求更简短的名称缩写版本。 用于getDayOfWeekString(int, int)getMonthString(int, int)的'abbrev'参数。

常量值:50(0x00000032)

MINUTE_IN_MILLIS

Added in API level 3
long MINUTE_IN_MILLIS

常量值:60000(0x000000000000ea60)

MONTH_DAY_FORMAT

Added in API level 3
String MONTH_DAY_FORMAT

常量值:“%-d”

MONTH_FORMAT

Added in API level 3
String MONTH_FORMAT

常数值:“%B”

NUMERIC_MONTH_FORMAT

Added in API level 3
String NUMERIC_MONTH_FORMAT

常量值:“%m”

SECOND_IN_MILLIS

Added in API level 3
long SECOND_IN_MILLIS

常量值:1000(0x00000000000003e8)

WEEKDAY_FORMAT

Added in API level 3
String WEEKDAY_FORMAT

常量值:“%A”

WEEK_IN_MILLIS

Added in API level 3
long WEEK_IN_MILLIS

常量值:604800000(0x00000000240c8400)

YEAR_FORMAT

Added in API level 3
String YEAR_FORMAT

常量值:“%Y”

YEAR_FORMAT_TWO_DIGITS

Added in API level 3
String YEAR_FORMAT_TWO_DIGITS

常量值:“%g”

YEAR_IN_MILLIS

Added in API level 3
long YEAR_IN_MILLIS

这个常数实际上是364天的长度,而不是一年!

常量值:31449600000(0x00000007528ad000)

Fields

sameMonthTable

Added in API level 3
int[] sameMonthTable

此字段在API级别17中已被弃用。
不使用。

sameYearTable

Added in API level 3
int[] sameYearTable

此字段在API级别17中已被弃用。
不使用。

Public constructors

DateUtils

Added in API level 3
DateUtils ()

Public methods

formatDateRange

Added in API level 9
Formatter formatDateRange (Context context, 
                Formatter formatter, 
                long startMillis, 
                long endMillis, 
                int flags, 
                String timeZone)

根据当地惯例格式化日期或时间范围。

示例输出字符串(这些示例中的日期格式使用美国日期格式约定显示,但根据本地设置可能会有所不同):

  • 10:15am
  • 3:00pm - 4:00pm
  • 3pm - 4pm
  • 3PM - 4PM
  • 08:00 - 17:00
  • Oct 9
  • Tue, Oct 9
  • October 9, 2007
  • Oct 9 - 10
  • Oct 9 - 10, 2007
  • Oct 28 - Nov 3, 2007
  • Dec 31, 2007 - Jan 1, 2008
  • Oct 9, 8:00am - Oct 10, 5:00pm
  • 12/31/2007 - 01/01/2008

flags参数是来自以下列表的选项的位掩码:

  • FORMAT_SHOW_TIME
  • FORMAT_SHOW_WEEKDAY
  • FORMAT_SHOW_YEAR
  • FORMAT_SHOW_DATE
  • FORMAT_NO_MONTH_DAY
  • FORMAT_12HOUR
  • FORMAT_24HOUR
  • FORMAT_CAP_AMPM
  • FORMAT_NO_NOON
  • FORMAT_CAP_NOON
  • FORMAT_NO_MIDNIGHT
  • FORMAT_CAP_MIDNIGHT
  • FORMAT_UTC
  • FORMAT_ABBREV_TIME
  • FORMAT_ABBREV_WEEKDAY
  • FORMAT_ABBREV_MONTH
  • FORMAT_ABBREV_ALL
  • FORMAT_NUMERIC_DATE

如果设置了FORMAT_SHOW_TIME,时间将显示为日期范围的一部分。 如果开始和结束时间相同,则只显示开始时间。

如果设置了FORMAT_SHOW_WEEKDAY,则会显示星期几。

如果设置了FORMAT_SHOW_YEAR,则始终显示年份。 如果未设置FORMAT_SHOW_YEAR,则仅在年份与当年不同时显示年份,或者开始日期和结束日期落在不同年份。

通常会显示日期,除非开始和结束日期相同。 如果设置了FORMAT_SHOW_DATE,则始终显示日期,即使对于同一天的范围。

如果设置了FORMAT_NO_MONTH_DAY,那么如果显示日期,则只显示月份名称,而不显示月份的日期。 例如,“2008年1月”,而不是“2008年1月6日至12日”。

如果设置了FORMAT_CAP_AMPM并且使用了12小时的时间,则“AM”和“PM”被大写。 你不应该使用这个标志,因为在某些地区,这些术语不能被大写,在许多其他地方,即使可能,这样做也没有意义。

如果设置了FORMAT_NO_NOON并且使用了12小时的时间,则显示“12pm”而不是“noon”。

如果设置了FORMAT_CAP_NOON并且使用了12小时的时间,则显示“中午”而不是“中午”。 你可能不应该使用这个标志,因为在许多地区,这个术语的大写是没有意义的。

如果设置了FORMAT_NO_MIDNIGHT并且使用了12小时的时间,则显示“12am”而不是“午夜”。

如果设置了FORMAT_CAP_MIDNIGHT并且使用了12小时的时间,则显示“午夜”而不是“午夜”。 你可能不应该使用这个标志,因为在许多地区,这个术语的大写是没有意义的。

如果FORMAT_12HOUR被设置并且显示时间,则时间以12小时时间格式显示。 你通常不应该设置这个。 相反,请根据系统设置自动选择时间格式。 如果同时设置了FORMAT_12HOUR和FORMAT_24HOUR,则FORMAT_24HOUR优先。

如果设置了FORMAT_24HOUR并显示时间,则时间以24小时时间格式显示。 你通常不应该设置这个。 相反,请根据系统设置自动选择时间格式。 如果同时设置了FORMAT_12HOUR和FORMAT_24HOUR,则FORMAT_24HOUR优先。

如果设置了FORMAT_UTC,则除非指定了时区,否则UTC时区用于开始和结束毫秒。 如果指定了时区,则不管FORMAT_UTC标志如何,都将使用它。

如果设置了FORMAT_ABBREV_TIME并且使用了12小时时间格式,则开始和结束时间(如果显示)缩写为不显示分钟,如果它们为零。 例如,而不是“下午3点”,时间将缩写为“下午3点”。

如果设置了FORMAT_ABBREV_WEEKDAY,则工作日(如果显示)缩写为3个字母的字符串。

如果设置了FORMAT_ABBREV_MONTH,则月份(如果显示)缩写为3个字母的字符串。

如果设置了FORMAT_ABBREV_ALL,则工作日和月份(如果显示)缩写为3个字母的字符串。

如果设置了FORMAT_NUMERIC_DATE,则日期以数字格式显示,而不是使用月份的名称。 例如,“2008年12月31日”而不是“2008年12月31日”。

如果结束日期在一天的早上12:00结束,则在两种情况下将其格式化为前一天的结尾:

  • For single day events. This results in "8pm - midnight" instead of "Nov 10, 8pm - Nov 11, 12am".
  • When the time is not displayed. This results in "Nov 10 - 11" for an event with a start date of Nov 10 and an end date of Nov 12 at 00:00.

Parameters
context Context: the context is required only if the time is shown
formatter Formatter: the Formatter used for formatting the date range. Note: be sure to call setLength(0) on StringBuilder passed to the Formatter constructor unless you want the results to accumulate.
startMillis long: the start time in UTC milliseconds
endMillis long: the end time in UTC milliseconds
flags int: a bit mask of options
timeZone String: the time zone to compute the string in. Use null for local or if the FORMAT_UTC flag is being used.
Returns
Formatter the formatter with the formatted date/time range appended to the string buffer.

formatDateRange

Added in API level 5
Formatter formatDateRange (Context context, 
                Formatter formatter, 
                long startMillis, 
                long endMillis, 
                int flags)

根据当地惯例格式化日期或时间范围。

请注意,这是用于格式化本地时区中的日期或时间范围的便利方法。 如果您想指定时区,请使用formatDateRange

Parameters
context Context: the context is required only if the time is shown
formatter Formatter: the Formatter used for formatting the date range. Note: be sure to call setLength(0) on StringBuilder passed to the Formatter constructor unless you want the results to accumulate.
startMillis long: the start time in UTC milliseconds
endMillis long: the end time in UTC milliseconds
flags int: a bit mask of options See formatDateRange
Returns
Formatter a string containing the formatted date/time range.

formatDateRange

Added in API level 3
String formatDateRange (Context context, 
                long startMillis, 
                long endMillis, 
                int flags)

根据当地惯例格式化日期或时间范围。

请注意,这是一种方便的方法。 使用它涉及到创建一个内部Formatter上即时,这是在内存和时间方面有些昂贵实例。 如果您很少使用该方法,这可能是可以接受的,但如果您依赖它来格式化大量日期,请考虑创建并重新使用自己的Formatter实例,并使用采用formatDateRange的版本Formatter

Parameters
context Context: the context is required only if the time is shown
startMillis long: the start time in UTC milliseconds
endMillis long: the end time in UTC milliseconds
flags int: a bit mask of options See formatDateRange
Returns
String a string containing the formatted date/time range.

formatDateTime

Added in API level 3
String formatDateTime (Context context, 
                long millis, 
                int flags)

根据当地惯例格式化日期或时间。 例如,如果显示时间,显示星期几,缩短月份名称,显示中午而不是12pm等等,则有很多选项可以让来电者控制。 有关选项的完整列表,请参阅文档formatDateRange(Context, Formatter, long, long, int)

示例输出字符串(这些示例中的日期格式使用美国日期格式约定显示,但根据本地设置可能会有所不同):

  • 10:15am
  • 3:00pm
  • 3pm
  • 3PM
  • 08:00
  • 17:00
  • noon
  • Noon
  • midnight
  • Midnight
  • Oct 31
  • Oct 31, 2007
  • October 31, 2007
  • 10am, Oct 31
  • 17:00, Oct 31
  • Wed
  • Wednesday
  • 10am, Wed, Oct 31
  • Wed, Oct 31
  • Wednesday, Oct 31
  • Wed, Oct 31, 2007
  • Wed, October 31
  • 10/31/2007

Parameters
context Context: the context is required only if the time is shown
millis long: a point in time in UTC milliseconds
flags int: a bit mask of formatting options
Returns
String a string containing the formatted date/time.

formatElapsedTime

Added in API level 3
String formatElapsedTime (StringBuilder recycle, 
                long elapsedSeconds)

使用“MM:SS”或“H:MM:SS”格式(使用适合当前语言环境的格式)格式化已用时间,类似于进行中调用画面中使用的格式。

Parameters
recycle StringBuilder: StringBuilder to recycle, or null to use a temporary one.
elapsedSeconds long: the elapsed time in seconds.
Returns
String

formatElapsedTime

Added in API level 3
String formatElapsedTime (long elapsedSeconds)

格式化“MM:SS”或“H:MM:SS”形式的经过时间,以便在进行中的调用屏幕上显示。

Parameters
elapsedSeconds long: the elapsed time in seconds.
Returns
String

formatSameDayTime

Added in API level 3
CharSequence formatSameDayTime (long then, 
                long now, 
                int dateStyle, 
                int timeStyle)

格式化日期/时间,以便如果当天与当天同日,则只显示时间,如果是不同日期,则只显示日期。

参数DATEFORMAT和TIMEFORMAT应各自的一个 DEFAULTFULLLONGMEDIUMSHORT

Parameters
then long: the date to format
now long: the base time
dateStyle int: how to format the date portion.
timeStyle int: how to format the time portion.
Returns
CharSequence

getAMPMString

Added in API level 3
String getAMPMString (int ampm)

此方法在API级别17中已弃用。
改为使用SimpleDateFormat

为AM或PM返回一个本地化的字符串。

Parameters
ampm int: Either Calendar.AM or Calendar.PM.
Returns
String Localized version of "AM" or "PM".
Throws
IndexOutOfBoundsException if the ampm is out of bounds.

getDayOfWeekString

Added in API level 3
String getDayOfWeekString (int dayOfWeek, 
                int abbrev)

此方法在API级别17中已弃用。
改为使用SimpleDateFormat

返回星期几的字符串。

Parameters
dayOfWeek int: One of Calendar.SUNDAY, Calendar.MONDAY, etc.
abbrev int: One of LENGTH_LONG, LENGTH_SHORT, LENGTH_MEDIUM, or LENGTH_SHORTEST. Note that in most languages, LENGTH_SHORT will return the same as LENGTH_MEDIUM. Undefined lengths will return LENGTH_MEDIUM but may return something different in the future.
Returns
String
Throws
IndexOutOfBoundsException if the dayOfWeek is out of bounds.

getMonthString

Added in API level 3
String getMonthString (int month, 
                int abbrev)

此方法在API级别17中已弃用。
改为使用SimpleDateFormat

返回一年中的本地化字符串。

Parameters
month int: One of Calendar.JANUARY, Calendar.FEBRUARY, etc.
abbrev int: One of LENGTH_LONG, LENGTH_MEDIUM, or LENGTH_SHORTEST. Undefined lengths will return LENGTH_MEDIUM but may return something different in the future.
Returns
String Localized month of the year.

getRelativeDateTimeString

Added in API level 3
CharSequence getRelativeDateTimeString (Context c, 
                long time, 
                long minResolution, 
                long transitionResolution, 
                int flags)

返回字符串,描述自startTime格式化后的经过时间,如“[相对时间/日期],[时间]”。

美国日期格式的示例输出字符串。

  • 3 min. ago, 10:15 AM
  • Yesterday, 12:20 PM
  • Dec 12, 4:12 AM
  • 11/14/2007, 8:20 AM

Parameters
c Context
time long: some time in the past.
minResolution long: the minimum elapsed time (in milliseconds) to report when showing relative times. For example, a time 3 seconds in the past will be reported as "0 minutes ago" if this is set to MINUTE_IN_MILLIS.
transitionResolution long: the elapsed time (in milliseconds) at which to stop reporting relative measurements. Elapsed times greater than this resolution will default to normal date formatting. For example, will transition from "7 days ago" to "Dec 12" when using WEEK_IN_MILLIS.
flags int
Returns
CharSequence

getRelativeTimeSpanString

Added in API level 3
CharSequence getRelativeTimeSpanString (Context c, 
                long millis, 
                boolean withPreposition)

Parameters
c Context
millis long
withPreposition boolean: If true, the string returned will include the correct preposition ("at 9:20am", "on 10/12/2008" or "on May 29").
Returns
CharSequence a relative time string to display the time expressed by millis. Times are counted starting at midnight, which means that assuming that the current time is March 31st, 0:30:
  • "millis=0:10 today" will be displayed as "0:10"
  • "millis=11:30pm the day before" will be displayed as "Mar 30"
If the given millis is in a different year, then the full date is returned in numeric format (e.g., "10/12/2008").

getRelativeTimeSpanString

Added in API level 3
CharSequence getRelativeTimeSpanString (long time, 
                long now, 
                long minResolution, 
                int flags)

返回描述'时间'的字符串,作为相对于'now'的时间。

过去的时间跨度被格式化为“42分钟前”。 时间跨度在未来格式化为“42分钟内”。

可以使用 FORMAT_ABBREV_RELATIVE标志来使用缩短的相对时间,如“42分钟前”。

Parameters
time long: the time to describe, in milliseconds
now long: the current time in milliseconds
minResolution long: the minimum timespan to report. For example, a time 3 seconds in the past will be reported as "0 minutes ago" if this is set to MINUTE_IN_MILLIS. Pass one of 0, MINUTE_IN_MILLIS, HOUR_IN_MILLIS, DAY_IN_MILLIS, WEEK_IN_MILLIS
flags int: a bit mask of formatting options, such as FORMAT_NUMERIC_DATE or FORMAT_ABBREV_RELATIVE
Returns
CharSequence

getRelativeTimeSpanString

Added in API level 3
CharSequence getRelativeTimeSpanString (long startTime)

返回一个字符串,描述自startTime以来经过的时间。

报告的最小时间间隔设置为 MINUTE_IN_MILLIS

Parameters
startTime long: some time in the past.
Returns
CharSequence a String object containing the elapsed time.

也可以看看:

getRelativeTimeSpanString

Added in API level 3
CharSequence getRelativeTimeSpanString (long time, 
                long now, 
                long minResolution)

返回描述'时间'的字符串,作为相对于'now'的时间。

过去的时间跨度被格式化为“42分钟前”。 时间跨度在未来格式化为“42分钟内”。

Parameters
time long: the time to describe, in milliseconds
now long: the current time in milliseconds
minResolution long: the minimum timespan to report. For example, a time 3 seconds in the past will be reported as "0 minutes ago" if this is set to MINUTE_IN_MILLIS. Pass one of 0, MINUTE_IN_MILLIS, HOUR_IN_MILLIS, DAY_IN_MILLIS, WEEK_IN_MILLIS
Returns
CharSequence

getRelativeTimeSpanString

Added in API level 3
CharSequence getRelativeTimeSpanString (Context c, 
                long millis)

便利功能,无需介词即可返回相对时间字符串。

Parameters
c Context: context for resources
millis long: time in milliseconds
Returns
CharSequence CharSequence containing relative time.

也可以看看:

isToday

Added in API level 3
boolean isToday (long when)

Parameters
when long
Returns
boolean true if the supplied when is today else false

Hooray!