时间工具类DataUtils

  1. API解释-点击打开 
    Android.text.format 
    **DateUtils:**This class contains various date-related utilities for creating text for things like elapsed time and date ranges, strings for days of the week and months, and AM/PM text etc. 
    DateUtils:这个类包含了各种与日期相关的工具,用于创建诸如经过的时间和日期范围的字符串、星期和月的天数以及AM / PM文本等。
  2. 常用变量 
    通过下面代码进行打印验证并得出结果,代码中打印的应该为String类型,第二个参数需要设置+“”来转换成String。
Log.e("SECOND_IN_MILLIS",DateUtils.SECOND_IN_MILLIS);
Log.e("MINUTE_IN_MILLIS",DateUtils.MINUTE_IN_MILLIS);
Log.e("HOUR_IN_MILLIS ",DateUtils.HOUR_IN_MILLIS);
Log.e("DAY_IN_MILLIS",DateUtils.DAY_IN_MILLIS);
Log.e("WEEK_IN_MILLIS ",DateUtils.WEEK_IN_MILLIS );
Log.e("YEAR_IN_MILLIS ",DateUtils.YEAR_IN_MILLIS );

这里写图片描述

【参见引用】 
DateUtils.SECOND_IN_MILLIS 常量,值为”1000”,表示1秒的字符串形式 
DateUtils.MINUTE_IN_MILLIS 常量,值为”60000”,表示1分钟的字符串形式 
DateUtils.HOUR_IN_MILLIS 常量,值为”3600000”,表示1小时的字符串形式 
DateUtils.DAY_IN_MILLIS) 常量,值为”86400000”,表示1天的字符串形式 
DateUtils.WEEK_IN_MILLIS 常量,值为”604800000”,表示1星期的字符串形式 
DateUtils.YEAR_IN_MILLIS 常量,值为”31449600000”,表示1年的字符串形式 
日期时间获取与显示: 
这里写图片描述 
【参看引用】代码因为在fragment运行所以使用getActivity():

String FORMAT_ABBREV_ALL = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_ABBREV_ALL);          //1月14日
String FORMAT_ABBREV_MONTH = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_ABBREV_MONTH);        //1月14日
String FORMAT_ABBREV_RELATIVE = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_ABBREV_RELATIVE);     //1月14日
String FORMAT_ABBREV_TIME = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_ABBREV_TIME);         //1月14日
String FORMAT_ABBREV_WEEKDAY = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_ABBREV_WEEKDAY);      //1月14日
String FORMAT_NO_MIDNIGHT = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_NO_MIDNIGHT);         //1月14日
String FORMAT_NO_MONTH_DAY = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_NO_MONTH_DAY);        //一月
String FORMAT_NO_NOON = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_NO_NOON);             //1月14日
String FORMAT_NO_YEAR = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_NO_YEAR);             //1月14日
String FORMAT_NUMERIC_DATE = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_NUMERIC_DATE);        //1/14
String FORMAT_SHOW_DATE = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_SHOW_DATE);           //1月14日
String FORMAT_SHOW_TIME = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_SHOW_TIME);           //15:38
String FORMAT_SHOW_WEEKDAY = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_SHOW_WEEKDAY);        //星期三
String FORMAT_SHOW_YEAR = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_SHOW_YEAR);           //2015年1月14日

Log.e("FORMAT_ABBREV_ALL",FORMAT_ABBREV_ALL);
Log.e("FORMAT_ABBREV_MONTH",FORMAT_ABBREV_MONTH);
Log.e("FORMAT_ABBREV_RELATIVE",FORMAT_ABBREV_RELATIVE);
Log.e("FORMAT_ABBREV_TIME",FORMAT_ABBREV_TIME);
Log.e("FORMAT_ABBREV_WEEKDAY",FORMAT_ABBREV_WEEKDAY);
Log.e("FORMAT_NO_MIDNIGHT",FORMAT_NO_MIDNIGHT);
Log.e("FORMAT_NO_MONTH_DAY",FORMAT_NO_MONTH_DAY);
Log.e("FORMAT_NO_NOON",FORMAT_NO_NOON);
Log.e("FORMAT_NO_YEAR",FORMAT_NO_YEAR);
Log.e("FORMAT_NUMERIC_DATE",FORMAT_NUMERIC_DATE);
Log.e("FORMAT_SHOW_DATE",FORMAT_SHOW_DATE);
Log.e("FORMAT_SHOW_TIME",FORMAT_SHOW_TIME);
Log.e("FORMAT_SHOW_WEEKDAY",FORMAT_SHOW_WEEKDAY);
Log.e("FORMAT_SHOW_YEAR",FORMAT_SHOW_YEAR);
  • 1最终显示: 
    这里写图片描述

返回具体日期: 
例1. 返回12月22日 下午4:50

DateUtils.formatDateTime(getActivity(),
        System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME
                | DateUtils.FORMAT_SHOW_DATE
                | DateUtils.FORMAT_ABBREV_ALL)

例2、返回 2016年12月22日星期四 17:04

System.currentTimeMillis(),DateUtils.FORMAT_24HOUR|DateUtils.FORMAT_SHOW_DATE|DateUtils.FORMAT_SHOW_TIME
        |DateUtils.FORMAT_SHOW_YEAR|DateUtils.LENGTH_LONG|DateUtils.FORMAT_ABBREV_MONTH));

如果需要返回自己需要的格式,根据上述的描述进行添加就可以了

备注:关于formatDateTime(Context context, long millis, int flags),但在int flags里面我们用到了|,也就是int的非运算。 
下面看一个例子来认识这种运算:

int a = 0x01|0x00|0x10;
        System.out.println("a="+a);
        System.out.format( "%x ", a );

最后结果为a=17,11,当然第一个输出的是十进制,在我们定义的时候采用的是十六进制,非的意思也就是进行位或的运算,放到二进制里面00110000和11001100的与运算结果为11111100,也就是按位数0|1=1,1|1=1,0|0=0。 
Java中的二进制表示为:

System.out.println("Java二进制7: "+Integer.toBinaryString(7));  
System.out.println("Java二进制-7:"+Integer.toBinaryString(-7));  

输出: 
Java二进制7: 111 
Java二进制-7: 11111111111111111111111111111001

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值