您的位置:首页 > 移动开发 > Android开发

[置顶] Android 时间、日期处理 DateUtils、SystemClock、DateFormat

2015-04-22 19:37 260 查看
老是要用到时间日期的一些处理,诸如:某段程序的时间间隔,日期时间格式化...  备注之

java中常用的 时间 日期 class:  

  java.util.Date

  java.util.Calendar

  java.text.DateFormat

  java.text.SimpleDateFormat

 还有个获取系统时间的方法 System.currentTimeMillis();

android中的:

  android.os.SystemClock

  android.text.format.DateFormat

  android.text.format.DateUtils

android.os.SystemClock 

  SystemClock.elapsedRealtime();  //系统启动后过了多长时间(毫秒值,含系统深度睡眠时间)

  所谓android深度睡眠,即屏幕关闭后,一段时间不做任何操作,不连接usb,然后在一定时间后,

  系统很多服务、进程都睡眠了,不再运行。

  SystemClock.uptimeMillis();  //系统启动后过了多长时间(毫秒值,不含系统深度睡眠时间)

  SystemClock.currentThreadTimeMillis(); //当前线程运行了多少时间(毫秒值,不含thread或systemclock.sleep的值)

  

android.text.format.DateFormat 

  DateFormat.format("yyyy-MM-dd HH:mm:ss", System.currentTimeMillis()); 

  DateFormat.format("yy/MM/dd", Calendar.getInstance());

  DateFormat.format("yyyy", new Date(2048,12,01));

  直接根据格式,格式时间   (关于格式,类中有定义)

android.text.format.DateUtils

  DateUtils.formatDateTime(getApplicationContext(), //格式化时间,最多显示到分钟。最后参数设定显示的格式

                        System.currentTimeMillis(),

                        DateUtils.FORMAT_24HOUR|DateUtils.FORMAT_SHOW_DATE|DateUtils.FORMAT_SHOW_TIME

                                |DateUtils.FORMAT_SHOW_YEAR|DateUtils.LENGTH_LONG|DateUtils.FORMAT_ABBREV_MONTH);

  DateUtils.getRelativeTimeSpanString(System.currentTimeMillis()+60*4000)); 

             //返回相对于当前时间的最大区间表示的字符串:几(分钟,小时,天,周,月,年)前/后

 DateUtils.getRelativeTimeSpanString(context, long timeMillis); 

        //返回相对于当前时间的,参数时间字符串:在同一天显示时分;在不同一天,显示月日;在不同一年,显示年月日

 DateUtils.formatDateRange(getApplicationContext(), System.currentTimeMillis(), System.currentTimeMillis() + 60 * 60 * 3000,

                        DateUtils.FORMAT_SHOW_TIME));  //返回两个时间值间的 相距 字符串
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: