| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
dy223
9年前发布

java 时间工具类

import java.io.File;    import java.io.IOException;    import java.net.URLEncoder;    import java.text.DateFormat;    import java.text.ParseException;    import java.text.SimpleDateFormat;    import java.util.Calendar;    import java.util.Date;    import java.util.GregorianCalendar;    import java.util.Locale;    import java.util.regex.Matcher;    import java.util.regex.Pattern;        import javax.servlet.http.HttpServletRequest;        import org.apache.commons.lang.StringUtils;    import org.jsoup.Jsoup;    import org.jsoup.nodes.Document;    import org.jsoup.nodes.Element;    import org.jsoup.select.Elements;        import com.trs.gab.beans.AppPhrasseDataResult;    import com.trs.gab.beans.DicDataModel;        import sun.misc.UCEncoder;    /**    * 时间工具类    *    */    public class DateUtil {            /**        * 返回数据库中以'YYYY-MM-DD HH24:MI:SS'格式表示当前时间的字符串        * 用法:to_date(?,'YYYY-MM-DD HH24:MI:SS')        * ?设置strNowtime        * @return        */        public static String getNowTimeStr(){            Calendar m_cal = Calendar.getInstance();            String strNowtime = m_cal.get(Calendar.YEAR) + "-"                    + (m_cal.get(Calendar.MONTH) + 1) + "-"                    + m_cal.get(Calendar.DAY_OF_MONTH) + " "                    + m_cal.get(Calendar.HOUR_OF_DAY) + ":"                    + m_cal.get(Calendar.MINUTE) + ":" + m_cal.get(Calendar.SECOND);            return strNowtime;        }            /**        * 获得当前时间,格式yyyy-MM-dd hh:mm:ss        *         * @param format        * @return        */        public static String getCurrentDateTime() {            return getCurrentDate("yyyy-MM-dd HH:mm:ss");        }            /**        * 获得当前时间,格式自定义        *         * @param format        * @return        */        public static String getCurrentDate(String format) {            Calendar day = Calendar.getInstance();            day.add(Calendar.DATE, 0);            SimpleDateFormat sdf = new SimpleDateFormat(format);// "yyyy-MM-dd"            String date = sdf.format(day.getTime());            return date;        }            /**        * 获得昨天时间,格式自定义        *         * @param format        * @return        */        public static String getYesterdayDate(String format) {            Calendar day = Calendar.getInstance();            day.add(Calendar.DATE, -1);            SimpleDateFormat sdf = new SimpleDateFormat(format);// "yyyy-MM-dd"            String date = sdf.format(day.getTime());            return date;        }            /**        * @param date1        *            需要比较的时间 不能为空(null),需要正确的日期格式 ,如:2009-09-12        * @param date2        *            被比较的时间 为空(null)则为当前时间        * @param stype        *            返回值类型 0为多少天,1为多少个月,2为多少年        * @return 举例: compareDate("2009-09-12", null, 0);//比较天        *         compareDate("2009-09-12", null, 1);//比较月        *         compareDate("2009-09-12", null, 2);//比较年        */        public static int compareDate(String startDay, String endDay, int stype) {            int n = 0;            String[] u = { "天", "月", "年" };            String formatStyle = stype == 1 ? "yyyy-MM" : "yyyy-MM-dd";                endDay = endDay == null ? getCurrentDate("yyyy-MM-dd") : endDay;                DateFormat df = new SimpleDateFormat(formatStyle);            Calendar c1 = Calendar.getInstance();            Calendar c2 = Calendar.getInstance();            try {                c1.setTime(df.parse(startDay));                c2.setTime(df.parse(endDay));            } catch (Exception e3) {                System.out.println("wrong occured");            }            // List list = new ArrayList();            while (!c1.after(c2)) { // 循环对比,直到相等,n 就是所要的结果                // list.add(df.format(c1.getTime())); // 这里可以把间隔的日期存到数组中 打印出来                n++;                if (stype == 1) {                    c1.add(Calendar.MONTH, 1); // 比较月份,月份+1                } else {                    c1.add(Calendar.DATE, 1); // 比较天数,日期+1                }            }            n = n - 1;            if (stype == 2) {                n = (int) n / 365;            }            // System.out.println(startDay+" -- "+endDay+" 相差多少"+u[stype]+":"+n);            return n;        }            /**        * 判断时间是否符合时间格式        */        public static boolean isLegalDateString(String date, String dateFormat) {            if (date != null) {                java.text.SimpleDateFormat format = new java.text.SimpleDateFormat(                        dateFormat);                format.setLenient(false);                try {                    format.format(format.parse(date));                } catch (ParseException e) {                    return false;                }                return true;            }            return false;        }            /**        * 实现给定某日期,判断是星期几 date:必须yyyy-MM-dd格式        */        public static String getWeekday(String date) {            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");            SimpleDateFormat sdw = new SimpleDateFormat("E");            Date d = null;            try {                d = sd.parse(date);            } catch (ParseException e) {                e.printStackTrace();            }            return sdw.format(d);        }            /**        * 用来全局控制 上一周,本周,下一周的周数变化        */        private static int weeks = 0;            /**        * 获得当前日期与本周一相差的天数        */        private static int getMondayPlus() {            Calendar cd = Calendar.getInstance();            // 获得今天是一周的第几天,星期日是第一天,星期二是第二天......            int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK);            if (dayOfWeek == 1)                return -6;            else                return 2 - dayOfWeek;        }            /**        * 获得本周星期一的日期        */        public static String getCurrentMonday(String format) {            weeks = 0;            int mondayPlus = getMondayPlus();            Calendar currentDate = Calendar.getInstance();            currentDate.add(Calendar.DATE, mondayPlus);            SimpleDateFormat sdf = new SimpleDateFormat(format);// "yyyy-MM-dd"            String date = sdf.format(currentDate.getTime());            return date;        }            /**        * 获得上周星期一的日期        */        public static String getPreviousMonday(String format) {            weeks--;            int mondayPlus = getMondayPlus();            Calendar currentDate = Calendar.getInstance();            currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks);            SimpleDateFormat sdf = new SimpleDateFormat(format);// "yyyy-MM-dd"            String date = sdf.format(currentDate.getTime());            return date;        }            /**        * 获得下周星期一的日期        */        public static String getNextMonday(String format) {            weeks++;            int mondayPlus = getMondayPlus();            // GregorianCalendar currentDate = new GregorianCalendar();            Calendar currentDate = Calendar.getInstance();            currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks);            SimpleDateFormat sdf = new SimpleDateFormat(format);// "yyyy-MM-dd"            String date = sdf.format(currentDate.getTime());            return date;        }            /**        * 获得相应周的周日的日期 此方法必须写在getCurrentMonday,getPreviousMonday或getNextMonday方法之后        */        public static String getSunday(String format) {            int mondayPlus = getMondayPlus();            Calendar currentDate = Calendar.getInstance();            currentDate.add(Calendar.DATE, mondayPlus + 7 * weeks + 6);            SimpleDateFormat sdf = new SimpleDateFormat(format);// "yyyy-MM-dd"            String date = sdf.format(currentDate.getTime());            return date;        }            /**        * method 将字符串类型的日期转换为一个timestamp(时间戳记java.sql.Timestamp)        *         * @param dateString        *            需要转换为timestamp的字符串        * @return dataTime timestamp        */        public final static java.sql.Timestamp string2Time(String dateString) {            DateFormat dateFormat;            dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);// 设定格式            dateFormat.setLenient(false);            java.util.Date date = null;            try {                date = dateFormat.parse(dateString);            } catch (ParseException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            // java.sql.Timestamp dateTime = new java.sql.Timestamp(date.getTime());            return new java.sql.Timestamp(date.getTime());// Timestamp类型,timeDate.getTime()返回一个long型        }            /**        * method 将字符串类型的日期转换为一个Date(java.sql.Date)        *         * @param dateString        *            需要转换为Date的字符串        * @return dataTime Date        */        public final static java.sql.Date string2Date(String dateString) {            DateFormat dateFormat;            dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);            dateFormat.setLenient(false);            java.util.Date date = null;            try {                date = dateFormat.parse(dateString);            } catch (ParseException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            // java.sql.Date dateTime = new java.sql.Date(date.getTime());// sql类型            return new java.sql.Date(date.getTime());        }            // 记录考勤, 记录迟到、早退时间        public static String getState() {            String state = "正常";            DateFormat df = new SimpleDateFormat("HH:mm:ss");            Date d = new Date();            try {                Date d1 = df.parse("08:00:00");                Date d2 = df.parse(df.format(d));                Date d3 = df.parse("18:00:00");                    int t1 = (int) d1.getTime();                int t2 = (int) d2.getTime();                int t3 = (int) d3.getTime();                if (t2 < t1) {                        long between = (t1 - t2) / 1000;// 除以1000是为了转换成秒                    long hour1 = between % (24 * 3600) / 3600;                    long minute1 = between % 3600 / 60;                        state = "迟到 :" + hour1 + "时" + minute1 + "分";                    } else if (t2 < t3) {                    long between = (t3 - t2) / 1000;// 除以1000是为了转换成秒                    long hour1 = between % (24 * 3600) / 3600;                    long minute1 = between % 3600 / 60;                    state = "早退 :" + hour1 + "时" + minute1 + "分";                }                return state;            } catch (Exception e) {                return state;            }            }            /**        * 数值型的时间改为字符串型时间        *         * @param time        * @return        */        public static String getTime(long time) {            try {                Date date = new Date(time);                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//                  String strdate = sdf.format(date);                return strdate;            } catch (Exception e) {                e.printStackTrace();                return "0";            }        }                /**        * 传入"yyyy-MM-dd HH:mm:ss"格式字符串,传出从1970 年~~~  至dateString表示时刻之间的ms。        * @return        */        public static long getTimeMillis(String dateString){            long timeMillis = 0;            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");            try {                Date date= sdf.parse(dateString);                timeMillis = date.getTime();            } catch (ParseException e) {            }            return timeMillis;        }                /**        * 获得后N天的时间,格式自定义        *         * @param format        * @return        */        public static String getDelayDayDate(String format,int delay) {            Calendar day = Calendar.getInstance();            day.add(Calendar.DATE, delay);            SimpleDateFormat sdf = new SimpleDateFormat(format);// "yyyy-MM-dd"            String date = sdf.format(day.getTime());            return date;        }                /**        * 获得后N小时的时间,格式自定义        * @param format        * @param delay        * @return        */        public static String getDelayHourDate(String format,int delay){            Calendar day = Calendar.getInstance();            day.add(Calendar.HOUR, delay);            SimpleDateFormat sdf = new SimpleDateFormat(format);// "yyyy-MM-dd"            String date = sdf.format(day.getTime());            return date;        }                /**        * @param date1        *            需要比较的时间 不能为空(null),需要正确的日期格式 ,如:2009-09-12 16:24        * @param date2        *            被比较的时间 为空(null)则为当前时间        * @param stype 0为比较小时,1为比较分钟。        * @return         */        public static int compareTime(String startDay, String endDay,int stype) {            int n = 0;            String formatStyle = "yyyy-MM-dd HH:mm";                endDay = endDay == null ? getCurrentDate("yyyy-MM-dd HH:mm") : endDay;                DateFormat df = new SimpleDateFormat(formatStyle);            Calendar c1 = Calendar.getInstance();            Calendar c2 = Calendar.getInstance();            try {                c1.setTime(df.parse(startDay));                c2.setTime(df.parse(endDay));            } catch (Exception e3) {                System.out.println("wrong occured");            }            // List list = new ArrayList();            while (!c1.after(c2)) { // 循环对比,直到相等,n 就是所要的结果                // list.add(df.format(c1.getTime())); // 这里可以把间隔的日期存到数组中 打印出来                n++;                if(stype == 0){                    c1.add(Calendar.HOUR, 1); // 比较月份,月份+1                }else{                    c1.add(Calendar.MINUTE, 1); // 比较月份,月份+1                }            }            n = n - 1;            return n;        }        /**        * 获取词典(牛津英汉词典)音标的信息        */        public static String getYin(String content)        {            String result="";            String reg="<font color=([\"'])#F17D1F([\"']) size=4>(?:.*?)</font>";            //String str="<td class=\"longtd\" title=\"VRBZ3\">VRBZ3</td>";            String str="<font color=red>china</font><font color=green>china</font>";            Pattern p=Pattern.compile(reg);            Matcher m=p.matcher(content);            int i=1;            while(m.find()){                System.out.println(m.group(0));                result=result+"<br>"+"<font color=#F17D1F>"+i+"</font>"+m.group(0).replaceAll("size=4", "style=\"font-family:Arial Unicode Ms\";");                i++;            }            if(i==2)            {                  String r="<font color=#F17D1F>";                int x=result.indexOf(r);                result=result.substring(x+r.length()+1);            }            return result;        }        /**        * 获取词典(字典)中的信息、        */        public static String getFont(String content)        {            String result="";            String reg="(?:.*?)<br>";            //String str="<td class=\"longtd\" title=\"VRBZ3\">VRBZ3</td>";            String str="你<br>nǐ<br>称对方,多称指一个人,有时也指称若干人:你厂。你方。<br>泛指任何人:你死我活。<br>您<br><br>笔画数:7;<br>部首:亻;<br>笔顺编号:3235234<br><br><br>";            Pattern p=Pattern.compile(reg);            Matcher m=p.matcher(content);            int i=1;            while(m.find()){                System.out.println(m.group(0));                if(!m.group(0).equals("<br>"))                {                result=result+i+"、   "+m.group(0);                i++;                }                            }                        return result;        }        public static String getDemo(String color,String content)        {            String result="";            String reg="<font color="+color+">(?:.*?)</font>";            //String str="<td class=\"longtd\" title=\"VRBZ3\">VRBZ3</td>";            String str="<font color=red>china</font><font color=green>china</font>";            Pattern p=Pattern.compile(reg);            Matcher m=p.matcher(content);                        if(color.equals("blue"))            {                int i=1;                while(m.find()){                    System.out.println(m.group(0));                    result=result+"<br> <font color=blue>"+i+" </font>"+m.group(0).replaceAll("size=4", "");                    i++;                }            }            else            {                                                 while(m.find()){                    System.out.println(m.group(0));                    result=result+"<br>"+m.group(0).replaceAll("size=4", "");                                }                            }            return result;        }        public static String getUse(String content)        {            String result="";            String reg="</font>(?:.*?)<br>";            //String str="<td class=\"longtd\" title=\"VRBZ3\">VRBZ3</td>";            String str="<font color=red>china</font><font color=green>china</font>";            Pattern p=Pattern.compile(reg);            Matcher m=p.matcher(content);                                        while(m.find()){                    System.out.println(m.group(0));                    result=result+m.group(0).replaceAll("size=4", "");                                    }                                    return result;        }        public static String[] getContent(String content,String prefex)        {            String result[]=new String[3];            String reg=prefex+"(?:.*?)</div>";            //String str="<td class=\"longtd\" title=\"VRBZ3\">VRBZ3</td>";            String str="<font color=red>china</font><font color=green>china</font>";            Pattern p=Pattern.compile(reg);            Matcher m=p.matcher(content);                        int count=0;                while(m.find()){                    if(count<3)                    {                        result[count]=m.group(0);                    }                    count++;                }                        return result;        }        public static boolean getContent(String content,String prefex,String reg)        {            boolean result=false;            Pattern p=Pattern.compile(reg);            Matcher m=p.matcher(content);                                        while(m.find()){                                        result=true;                }                return result;        }        public static String getC(String content,String prefex)        {            System.out.println("未处理的t内容"+content);            int start=content.indexOf(prefex);            String result="";            if(start!=-1)            {            result=content.substring(start, content.length()-1);            return result.replaceAll("</div>","")+"</div>";            }            else            {                result=content;                return result;            }                                            }        public static String getContent(String content)        {            String s_content[]=new String[2];            for(int i=0;i<2;i++)            {                s_content[i]=content;            }            String v=getContent(s_content[0],"<div id=v>")[0];                        String c=getContent(s_content[1],"<div id=c>")[0];            if(!getContent(c, "<div id=c>", "[\u4E00-\u9FA5]"))            {                c=getC(s_content[1],"<div id=c>");            }            return c+v;        }                public static String replaceTag(String content)        {            return content.replaceAll("<br>", " ").replaceAll("bword://", "").replaceAll("\\\\n", "").replaceAll("<img.*>.*</img>","").replaceAll("<img.*/>","");        }         /**          * 获取现在时间          * @return返回字符串格式 yyyy-MM-dd HH:mm:ss          */          public static String getStringDate() {            Date currentTime = new Date();            SimpleDateFormat formatter = new SimpleDateFormat("M月d日");            String dateString = formatter.format(currentTime);            return dateString;           }        public static String getNum(String content)        {            String result="";            String reg="(?:.*?)。";                        //String str="<td class=\"longtd\" title=\"VRBZ3\">VRBZ3</td>";            String str="(1)在体积、面积、数量、力量、强度等方面不及一般的或不及比较的对象(跟‘大’相对):~河|鞋~了点儿|我比你~一岁|声音太~。(2)短时间地:~坐|~住。(3)排行最末的:~儿子|他是我的~弟弟。(4)年纪小的人:一家大~|上有老,下有~。(5)指妾①。(6)谦辞,称自己或与自己有关的人或事物:~弟|~店。 …小白菜@(~ ";            Pattern p=Pattern.compile(reg);            Matcher m=p.matcher(content);                                        while(m.find()){                if(m.group(0).length()>3)                {                    System.out.println(m.group(0));                    result=result+m.group(0)+"<br>";                 }                else                {                    result=content;                }                }            if(result.length()==0)            {                result=content;            }                        return result;        }        /**        * @param args        * @return         * @return         */        public static String getContentSource(String contentSource,String tag,String tagId,int wordSize)        {            Document doc;            String linkText="";            //System.out.println("未处理的文本内容:"+contentSource);            try {                doc = Jsoup.parse(contentSource);                    Element content = doc.getElementById(tagId);                if(content!=null){                Elements texts = content.select(tag + "[id=" + tagId + "]");                for (Element link : texts) {                        linkText = linkText + link.text();                }                }                else                {                    Element t = doc.getElementById("t");                    if(t!=null){                    Elements texts = t.select("div[id=t]");                    for (Element link : texts) {                            linkText = linkText + link.text();                    }                    }                    else                    {                        linkText=contentSource;                    }                }            } catch (Exception e) {                    e.printStackTrace();            }            //System.out.println("得到的文本内容:"+linkText);            if(linkText.length()>300)            {                linkText=linkText.substring(0, wordSize)+"...";            }            return linkText;        }                public static String getContentText(String contentSource,String tag,String tagId)        {            Document doc;            String linkText="";            //System.out.println("未处理的文本内容:"+contentSource);            try {                doc = Jsoup.parse(contentSource);                    Element content = doc.getElementById(tagId);                if(content!=null){                Elements texts = content.select(tag + "[id=" + tagId + "]");                for (Element link : texts) {                        linkText = linkText + link.text();                }                }                            } catch (Exception e) {                    e.printStackTrace();            }            //System.out.println("得到的文本内容:"+linkText);            return linkText;        }        /**        * 得到div id=m的内容        * @param contentSource        * @param tag        * @param tagId        * @return        */        public static String getContentSourceOfm(String contentSource,String tag,String tagId)        {            Document doc;            String linkText="";            //System.out.println("未处理的文本内容:"+contentSource);            try {                doc = Jsoup.parse(contentSource);                    Element content = doc.getElementById(tagId);                if(content!=null){                Elements texts = content.select(tag + "[id=" + tagId + "]");                for (Element link : texts) {                        linkText = linkText + link.text();                }                }                else                {                    Element t = doc.getElementById("t");                    if(t!=null){                    Elements texts = t.select("div[id=t]");                    for (Element link : texts) {                            linkText = linkText + link.text();                    }                    }                    else                    {                        linkText=contentSource;                    }                }            } catch (Exception e) {                    e.printStackTrace();            }            //System.out.println("得到的文本内容:"+linkText);            if(linkText.length()>300)            {                linkText=linkText.substring(0, 300)+"...";            }            return linkText;        }        public static boolean isHasRelativeWordlink(String content,String tag)        {            if(content.contains(tag))            {                return true;            }            else            {                return false;            }        }        /**        * 得到相关词条的解释        * @param content        * @param request        * @param tag        * @return        */        public static String getRelativeWordlink(String content,HttpServletRequest request,String tag)        {            String param[]=content.split(tag);            //URLEncoder encoder=null;                                content="参考词条:<a href="+request.getContextPath()+"/baikeSearchRelative.trs?searchWord="+param[1].replaceAll("\\\\n", "")+"  target=\"_blank\">"+param[1].replaceAll("\\\\n", "")+"</a>";            return content;        }                /**        * 得到相关词条的解释        * @param content        * @param request        * @param tag        * @return        */        public static DicDataModel getRelativeWordContent(String content,String tag,int type)        {                                    String param[]=content.split(tag);            //URLEncoder encoder=null;            DicDataModel dataModel=null;                        AppPhrasseDataResult appPhrasseDataResult=null;                        appPhrasseDataResult=new AppPhrasseDataResult();                        try {                dataModel=appPhrasseDataResult.getBaikeInfo("TB_BAIKE", "name="+param[1].replaceAll("\\\\n", ""));            } catch (Exception e) {                                e.printStackTrace();            }            if(type==0)            {                dataModel.setContent(DateUtil.getContentSource(dataModel.getContent(), "", "c",300),new Boolean("true"));            }            else            {                    dataModel.setContent(dataModel.getContent(),new Boolean("true"));                            }            return dataModel;        }        /**        * 将相关词条添加到字符串数组中        * @param contentSource        * @param request        * @return        */        public static String[] getRelativeWordlink(String contentSource,HttpServletRequest request)        {Document doc;        String relativeWord[]=null;        int count=0;        try {            doc = Jsoup.parse(contentSource);                Element content = doc.getElementById("m");            //Elements links = content.getElementsByTag("td");            if(content!=null){            Elements links = content.select("a");            relativeWord=new String[links.size()];            for (Element link : links) {                           String linkText = link.text();                    if(linkText.contains("@"))                {                  relativeWord[count]=linkText;                }                count++;            }            }        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }            return relativeWord;        }        /**        * 将相关词条的细缆页链接加上        * @param content        * @param relativeWord        * @param request        * @return        */        public static String replaceRelativeWord(String content,String relativeWord[],HttpServletRequest request)        {            for(int i=0;i<relativeWord.length;i++)            {   String c=relativeWord[i];                if(StringUtils.isNotEmpty(c))                {                String r=relativeWord[i].substring(1);                content=content.replaceFirst(r, request.getContextPath()+"/baikeSearchRelative.trs?searchWord="+r);                }                }            return content;        }        /**        * 得到词条的目录链接:        * 默认取前5条链接        * @param content        * @return        */        public static String getLink(String contentSource, String linkContent,int count,String tag) {            Document doc;            String linkText = "";            try {                doc = Jsoup.parse(contentSource);                    Element content = doc.getElementById(tag);                if(content!=null){                Elements links = content.select("p");                                    int i=1;                    for (Element link : links) {                        String href=getChildlink(link.outerHtml());                        if(StringUtils.isNotEmpty(href))                        {                       linkText = linkText +"<p>"+href+"</p>";                        }                       if(i==count)                        {                            break;                        }                            i++;                    }                    /*if(i<count)                   {                       linkText = linkText+getLinkOfm(linkContent, count-i,"m");                   }*/                }                                else                {                    linkText=contentSource;                }            } catch (Exception e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            return linkText;        }        /**        * 链接的数量不足时增加m标签的内容        * @param contentSource        * @param linkContent        * @param count        * @param tag        * @return        */        public static String getLinkOfm(String linkContent,int count,String tag) {            Document doc;            String linkText = "";            try {                doc = Jsoup.parse(linkContent);                    Element content = doc.getElementById(tag);                if(content!=null){                Elements links = content.select("p");                                    int i=0;                    for (Element link : links) {                       linkText = linkText +"<p>"+ getChildlink(link.outerHtml())+"</p>";                        if(i==count)                        {                            break;                        }                            i++;                    }                                    }                                else                {                    linkText=linkContent;                }            } catch (Exception e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            return linkText;        }        /**        * 获取链接的子链接的第一个链接        * @param contentSource        * @return        */        public static String getChildlink(String contentSource) {                Document doc;            String linkText = null;            try {                doc = Jsoup.parse(contentSource);                    Elements links = doc.select("a");                if (links != null) {                    int i = 0;                    for (Element link : links) {                        if (i == 0) {                            linkText = link.outerHtml();                        }                        i++;                    }                } else {                    linkText = contentSource;                }            } catch (Exception e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            return linkText;        }        public static int getNowTime(int type){            Calendar m_cal = Calendar.getInstance();            if(type==1)            {                return m_cal.get(Calendar.MONTH)+1;            }            else                return m_cal.get(Calendar.DAY_OF_MONTH);        }        public static void main(String[] args) {            System.out.println(getContentText("<div id=t><p></div>\n","div","t"));            }        }