安卓的时间显示

SystemClock

  1. SystemClock.elapsedRealtime() //手机启动后过了多长时间(毫秒值,含手机深度睡眠时间)
    所谓android深度睡眠,即屏幕关闭后,一段时间不做任何操作,不连接usb,然后在一定时间后,
    手机很多服务、进程都睡眠了,不再运行。
  2. SystemClock.uptimeMillis() //手机启动后过了多长时间(毫秒值,不含手机深度睡眠时间)
  3. SystemClock.currentThreadTimeMillis()//当前线程运行了多少时间(毫秒值,不含thread或systemclock.sleep的值)

android.text.format.DateFormat

1.DateFormat.getBestDateTimePattern(local,skeleton) 获取指定时区的最佳时间格式,skeleton为想要显示的单位类型

  1. DateFormat.format(inFormat,date) 按指定格式获取字符串
  2. DateFormat.getDateFormat(context): 获取系统时间显示格式
    例子
 private void logDateFormat(Date date) {
        String bestDateTimePattern = DateFormat.getBestDateTimePattern(Locale.CHINA, "yyyyMMddHHmmss");
        Log.i(TAG, "bestDateTimePattern: "+DateFormat.format(bestDateTimePattern,date));
        Log.i(TAG, "yyyy-MM-dd: "+ DateFormat.format("yyyy-MM-dd HH:mm:ss",date));
        Log.i(TAG, "yy/MM/dd "+ DateFormat.format("yy/MM/dd",date));
        Log.i(TAG, "yyyy: "+ DateFormat.format("yyyy",date));

        java.text.DateFormat dateFormat = DateFormat.getDateFormat(this);
        Log.i(TAG, "java: "+ dateFormat.format(date));
    } 

显示结果

bestDateTimePattern: 2016/02/01 13:43:13
yyyy-MM-dd: 2016-02-01 13:43:13
yy/MM/dd 16/02/01
yyyy: 2016
java: 2016-2-1

DateUtils

1.DateUtils.formatDateTime: 格式化时间,最大精度到分钟
2.formatDateRange(Context context, long startMillis,
long endMillis, int flags:格式化两个时间相距的字符串

3.DateUtils.formatElapsedTime(elapsedtime) 配合SystemClock使用,显示手机使用时间

例子

  private void logDateUtils(Date date){
      Log.i(TAG, "FORMAT_ABBREV_ALL: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_ABBREV_ALL));
      Log.i(TAG, "FORMAT_ABBREV_MONTH: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_ABBREV_MONTH));
      Log.i(TAG, "FORMAT_ABBREV_RELATIVE: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_ABBREV_RELATIVE));
      Log.i(TAG, "FORMAT_ABBREV_TIME: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_ABBREV_TIME));
      Log.i(TAG, "FORMAT_ABBREV_WEEKDAY: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_ABBREV_WEEKDAY));
      Log.i(TAG, "FORMAT_NO_MIDNIGHT: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_NO_MIDNIGHT));
      Log.i(TAG, "FORMAT_NO_MONTH_DAY: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_NO_MONTH_DAY));
      Log.i(TAG, "FORMAT_NO_NOON: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_NO_NOON));
      Log.i(TAG, "FORMAT_NO_YEAR: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_NO_YEAR));
      Log.i(TAG, "FORMAT_NUMERIC_DATE: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_NUMERIC_DATE));
      Log.i(TAG, "FORMAT_SHOW_DATE: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_SHOW_DATE));
      Log.i(TAG, "FORMAT_SHOW_TIME: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_SHOW_TIME));
      Log.i(TAG, "FORMAT_SHOW_WEEKDAY: "+DateUtils.formatDateTime(this,date.getTime(),DateUtils.FORMAT_SHOW_WEEKDAY));
      Log.i(TAG, "FORMAT_SHOW_YEAR: " + DateUtils.formatDateTime(this, date.getTime(), DateUtils.FORMAT_SHOW_YEAR));
      Log.i(TAG, "FORMAT_SHOW_YEAR: " + DateUtils.formatDateTime(this, date.getTime(), DateUtils.FORMAT_SHOW_YEAR));
      Log.i(TAG, "formatDateRange: " + DateUtils.formatDateRange(this, date.getTime(), date.getTime() + 3600 * 1000, DateUtils.FORMAT_SHOW_TIME));
      Log.i(TAG, "elapsedRealtime: " + DateUtils.formatElapsedTime(SystemClock.elapsedRealtime()/1000));
  }

结果

FORMAT_ABBREV_ALL: 2月1日
FORMAT_ABBREV_MONTH: 2月1日
FORMAT_ABBREV_RELATIVE: 2月1日
FORMAT_ABBREV_TIME: 2月1日
FORMAT_ABBREV_WEEKDAY: 2月1日
FORMAT_NO_MIDNIGHT: 2月1日
FORMAT_NO_MONTH_DAY: 二月
FORMAT_NO_NOON: 2月1日
FORMAT_NO_YEAR: 2月1日
FORMAT_NUMERIC_DATE: 2/1
FORMAT_SHOW_DATE: 2月1日
FORMAT_SHOW_TIME: 14:16
FORMAT_SHOW_WEEKDAY: 星期一
FORMAT_SHOW_YEAR: 2016年2月1日
FORMAT_SHOW_YEAR: 2016年2月1日
formatDateRange: 14:16–15:16
elapsedRealtime: 4:34:20

你可能感兴趣的:(安卓的时间显示)