自定义工具类,获取当前时间到第二天的零点、下个月1号零点的时间差(s):

2018-03-14 11:31:09
cacheManager.set(monthKey, totalMonCount.toString(), DateUtil.getSecsToEndOfCurrentDay());public class DateUtil {    /**     *获取每月最后一天时间     * @param sDate1     * @return     */    public static Date getLastDayOfMonth(Date sDate1)   {        Calendar cDay1 = Calendar.getInstance();        cDay1.setTime(sDate1);        final int lastDay = cDay1.getActualMaximum(Calendar.DAY_OF_MONTH);        Date lastDate = cDay1.getTime();        lastDate.setDate(lastDay);        return  lastDate;    }    /*    获取下一个月第一天凌晨1点     */    public static Date nextMonthFirstDate() {        Calendar calendar = Calendar.getInstance();        calendar.set(Calendar.HOUR_OF_DAY, 1);   //设置为每月凌晨1点        calendar.set(Calendar.DAY_OF_MONTH, 1);   //设置为每月1号        calendar.add(Calendar.MONTH, 1);   // 月份加一,得到下个月的一号//        calendar.add(Calendar.DATE, -1);     下一个月减一为本月最后一天        return calendar.getTime();    }    /**     * 获取第二天凌晨0点毫秒数     * @return     */    public static Date nextDayFirstDate() throws ParseException {        Calendar cal = Calendar.getInstance();        cal.setTime(new Date());        cal.add(Calendar.DAY_OF_YEAR, 1);        cal.set(Calendar.HOUR_OF_DAY, 00);        cal.set(Calendar.MINUTE, 0);        cal.set(Calendar.SECOND, 0);        return cal.getTime();    }    //*********    /**     * 获取当前时间到下个月凌晨1点相差秒数     * @return     */    public static Long getSecsToEndOfCurrentMonth(){        Long secsOfNextMonth  = nextMonthFirstDate().getTime();        //将当前时间转为毫秒数        Long secsOfCurrentTime = new Date().getTime();        //将时间转为秒数        Long distance = (secsOfNextMonth - secsOfCurrentTime)/1000;        if (distance > 0 && distance != null){            return distance;        }        return new Long(0);    }    /**     * 获取当前时间到明天凌晨0点相差秒数     * @return     */    public static Long getSecsToEndOfCurrentDay() throws ParseException {        Long secsOfNextDay  = nextDayFirstDate().getTime();        //将当前时间转为毫秒数        Long secsOfCurrentTime = new Date().getTime();        //将时间转为秒数        Long distance = (secsOfNextDay - secsOfCurrentTime)/1000;        if (distance > 0 && distance != null){            return distance;        }        return new Long(0);    } }
  • 2018-09-09 02:25:09

    单例模式的好处和缺点?为什么要用单例模式?

    单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

  • 2018-09-09 02:31:48

    基于VCamera,仿微信录制短视频

    基于VCamera,Android仿微信录制短视频,如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request。

  • 2018-09-13 22:24:04

    QQ微信登录失败,报100044错

    我用的mob的maven集成方案,说实在的从一开始用maven集成方案就是一个坑啊。每次build都会重新加载所有maven包,后来通过gradle offline总算解决了。

  • 2018-09-26 15:14:23

    PHP JSON_ENCODE 不转义中文汉字的方法

    PHP 生成JSON的时候,必须将汉字不转义为 \u开头的UNICODE数据。 网上很多,但是其实都是错误的,正确的方法是在json_encode 中加入一个参数 JSON_UNESCAPED_UNICODE