码迷,mamicode.com
首页 > 其他好文 > 详细

代码编写中经常会涉及的工具类

时间:2017-04-03 15:12:35      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:imu   南方   结构   seda   maximum   show   保存   cep   one   

这段时间,应着老板的要求,从无到有,从无从下手,到一步步摸索,终于顺利完成了老板交代的任务,在这次任务当中,学会了很多新知识,在这里,我将总结一下我在此次任务中经常用到的一些工具类,我认为这些工具类,有必要保存一份,这样,不至于到了编码的时候花更多时间去网上找,虽然我这也算在网上找的,但花了我不少时间,为了下次不再浪费更多时间,在此我将把一些常用的工具类分享出来。

我这次做的主要任务是,从网页抓取数据,数据量很大,抓取南方5省的天气数据,这当中涉及如何抓取数据,如何寻找可以被我们轻松解析的数据,抓到了数据如何解析,抓到了数据如何存储数据,如何设计表结构,如何将数据存储数据库后能够方便拿出来,等等,这当中涉及的知识点真的不少,说针真的,这是我第一从网页抓取数据,起初,老板给我布置了这个任务,我有点不知所措,不知如何下手,但是没有办法,我硬着头皮跟师兄请教,逼着自己学习,总算有效。

/**
     * 根据当前时间获取上一月的同一时间
     * @return 
     */
    public static String lastMonth(){
        Calendar now = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));
        now.setTime(new Date());
        int day = now.get(Calendar.DATE);
        if(1 == day){
            now.add(Calendar.MONTH, -1);//获取上一个月份
        }
        SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
        return format1.format(now.getTime());
    }
/***
     * 根据时间查询是星期几,
     * 
     * @param ctime yyyy-MM-dd
     * @return
     */
    public static String praseWeeks(String ctime) {
        Date ctimeDate = DateUtils.parseDate(ctime, DateUtils.SHOW_DATE_FORMAT);
        String[] weekOfDays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
        Calendar calendar = Calendar.getInstance();
        if (ctimeDate != null) {
            calendar.setTime(ctimeDate);
        }
        int w = calendar.get(Calendar.DAY_OF_WEEK) - 1;
        if (w < 0) {
            w = 0;
        }
        return weekOfDays[w];
    }
/***
     * 获取15年1月到17年3月的年月字符串集合
     */
    public static List<String> acceptXingQi() {
        List<String> list = new ArrayList<String>();
        String startdate = "2014-12-01";
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Date d1;
        try {
            d1 = format.parse(startdate);
            Calendar c1 = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));
            c1.setTime(d1);
            for (int i = 0; i < 26; i++) {
                c1.add(Calendar.MONTH, 1);//当前的月份加1
                SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
                list.add(format1.format(c1.getTime()));
            }
        } catch (java.text.ParseException e) {
            e.printStackTrace();
        }
        return list;
    }
/**
     * 获取月份的天数
     * 
     * @return
     */
    public static int getDayOfMonth(int year, int month) {
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.YEAR, year);
        cal.set(Calendar.MONTH, month - 1);
        return cal.getActualMaximum(Calendar.DATE);
    }
/**
     * 比较两个日期之间天数
     * 
     * @param fDate
     * @param oDate
     */
    public static int daysOfTwo(Date fDate, Date toDate) {
        return (int) ((toDate.getTime() - fDate.getTime()) / (1000 * 60 * 60 * 24));

    }

 

代码编写中经常会涉及的工具类

标签:imu   南方   结构   seda   maximum   show   保存   cep   one   

原文地址:http://www.cnblogs.com/yxh1008/p/6661999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!