最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android編程實(shí)現(xiàn)計(jì)算兩個(gè)日期之間天數(shù)并打印所有日期的方法

 更新時(shí)間:2018年01月17日 13:53:20   作者:解牛之術(shù)  
這篇文章主要介紹了Android編程實(shí)現(xiàn)計(jì)算兩個(gè)日期之間天數(shù)并打印所有日期的方法,涉及Android日期時(shí)間相關(guān)轉(zhuǎn)換與運(yùn)算操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Android編程實(shí)現(xiàn)計(jì)算兩個(gè)日期之間天數(shù)并打印所有日期的方法。分享給大家供大家參考,具體如下:

以下代碼是計(jì)算兩個(gè)日期之間的天數(shù),并打印所有日期

注:開始時(shí),增加天數(shù)時(shí),一天的毫秒數(shù)直接用24*60*60*1000來(lái)逐步增加天數(shù),再測(cè)試時(shí)發(fā)現(xiàn),當(dāng)兩個(gè)日期之間的天數(shù)超過(guò)24天時(shí),打印的日期反而在開始日期之前了,(如打印2016/12/18-2017/1/23,打印的日期反而有2016/12/1),后來(lái)發(fā)現(xiàn)原因在于24*60*60*1000是一個(gè)int值,int值的取值范圍在2的31次方:+/- 2147483648,當(dāng)超過(guò)最大數(shù)時(shí),就會(huì)變成最小數(shù),這樣反而導(dǎo)致日期變小,將24*60*60*1000變?yōu)閘ong類型的值即可:private long static final long ONE_DAY_MS=24*60*60*1000

/**
* 計(jì)算兩個(gè)日期之間的日期
* @param startTime
* @param endTime
*/
private void betweenDays(long startTime,long endTime,long mills_select,int code){
   Date date_start=new Date(startTime);
   Date date_end=new Date(endTime);
   //計(jì)算日期從開始時(shí)間于結(jié)束時(shí)間的0時(shí)計(jì)算
   Calendar fromCalendar = Calendar.getInstance();
   fromCalendar.setTime(date_start);
   fromCalendar.set(Calendar.HOUR_OF_DAY, 0);
   fromCalendar.set(Calendar.MINUTE, 0);
   fromCalendar.set(Calendar.SECOND, 0);
   fromCalendar.set(Calendar.MILLISECOND, 0);
   Calendar toCalendar = Calendar.getInstance();
   toCalendar.setTime(date_end);
   toCalendar.set(Calendar.HOUR_OF_DAY, 0);
   toCalendar.set(Calendar.MINUTE, 0);
   toCalendar.set(Calendar.SECOND, 0);
   toCalendar.set(Calendar.MILLISECOND, 0);
   int s = (int) ((toCalendar.getTimeInMillis() - fromCalendar.getTimeInMillis())/ (ONE_DAY_MS));
   if(s>0){
     for(int i = 0;i<=s;i++){
       long todayDate = fromCalendar.getTimeInMillis() + i * ONE_DAY_MS;
       /**
        * yyyy-MM-dd E :2012-09-01
        */
       Log.i("打印日期",Utils.getCustonFormatTime(todayDate,"yyyy-MM-dd"));
     }
   }else {//此時(shí)在同一天之內(nèi)
       Log.i("打印日期",Utils.getCustonFormatTime(startTime,"yyyy-MM-dd"));
   }
}

Utils.getCustonFormatTime()方法代碼如下:

/**
* 格式化傳入的時(shí)間
*
* @param time   需要格式化的時(shí)間
* @param formatStr 格式化的格式
* @return
*/
public static String getCustonFormatTime(long time, String formatStr) {
    SimpleDateFormat format = new SimpleDateFormat(formatStr);
    Date d1 = new Date(time);
    return format.format(d1);
}

PS:這里再為大家推薦幾款關(guān)于日期與時(shí)間計(jì)算的在線工具供大家參考使用:

在線日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在線萬(wàn)年歷日歷:
http://tools.jb51.net/bianmin/wannianli

在線陰歷/陽(yáng)歷轉(zhuǎn)換工具:
http://tools.jb51.net/bianmin/yinli2yangli

Unix時(shí)間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android日期與時(shí)間操作技巧總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

阳朔县| 青岛市| 拉孜县| 澎湖县| 来凤县| 灵宝市| 思茅市| 根河市| 驻马店市| 修武县| 突泉县| 山东| 太仆寺旗| 兴文县| 康定县| 宁波市| 广宗县| 越西县| 漳浦县| 蓬安县| 久治县| 邵阳县| 太白县| 东辽县| 康定县| 大厂| 邻水| 南京市| 黄浦区| 贵定县| 开远市| 小金县| 贵南县| 保德县| 涞水县| 桐城市| 巴南区| 安龙县| 大足县| 峨眉山市| 长白|