java 时间工具类(未测试)

来源:互联网 发布:java和jsp分页查询 编辑:程序博客网 时间:2024/05/17 01:44
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"));          }    }  
0 0
原创粉丝点击