时间:2021-05-20
本文实例讲述了Android编程实现计算两个日期之间天数并打印所有日期的方法。分享给大家供大家参考,具体如下:
以下代码是计算两个日期之间的天数,并打印所有日期
注:开始时,增加天数时,一天的毫秒数直接用24*60*60*1000来逐步增加天数,再测试时发现,当两个日期之间的天数超过24天时,打印的日期反而在开始日期之前了,(如打印2016/12/18-2017/1/23,打印的日期反而有2016/12/1),后来发现原因在于24*60*60*1000是一个int值,int值的取值范围在2的31次方:+/- 2147483648,当超过最大数时,就会变成最小数,这样反而导致日期变小,将24*60*60*1000变为long类型的值即可:private long static final long ONE_DAY_MS=24*60*60*1000
/*** 计算两个日期之间的日期* @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); //计算日期从开始时间于结束时间的0时计算 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 {//此时在同一天之内 Log.i("打印日期",Utils.getCustonFormatTime(startTime,"yyyy-MM-dd")); }}Utils.getCustonFormatTime()方法代码如下:
/*** 格式化传入的时间** @param time 需要格式化的时间* @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:这里再为大家推荐几款关于日期与时间计算的在线工具供大家参考使用:
在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在线万年历日历:
http://tools.jb51.net/bianmin/wannianli
在线阴历/阳历转换工具:
http://tools.jb51.net/bianmin/yinli2yangli
Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android日期与时间操作技巧总结》、《Android开发入门与进阶教程》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
我们在编写ASP.net程序时,经常需要计算两个日期之间的间隔,如计算两个日期之间相差的年数、月数、天数、小时数、分钟,秒等,下面的源代码就给出了具体的实现方法
在前面我们已经学会了计算两个日期之间间隔大数的方法,下面将进一步介绍两个日期之间相差的天数、月数和年数方法,是通过一些excel函数来解决这个问题,下面小编就为
本文实例讲述了php计算两个日期相差天数的方法。分享给大家供大家参考。具体实现方法如下:
在excel中,通过将两个日期值进行减运算,能够得到这两个日期之间所间隔的具体天数;而将一个日期值与一个表示天数的常数相加减,则能够得到一个距离该日期x天的日期
本文实例讲述了Android编程实现根据不同日期计算天数差的方法。分享给大家供大家参考,具体如下:Calendarcal1=getCalendarFromDat