Java公用方法
1、public String getValueByName(String params,String name)
--獲取規字符串中的指定名稱的某個字段值
2、function getSelectedMasterKeys()
--用於通過表單選中的復選框獲取它的值
3、public String getCurMonth()
--獲取當前年
4、public String getListColumnSum(List<HashMap> list,String coulumName,int point)
--匯總指定列的 總和
5、public String getDoublePoint(Double d,int point)
--保留小數不進行四舍五入
6、public String getNextMonth(String datestr)
--獲取下一月(還沒到來)
7、public List<String> getStartMonthToCurMonth()
--獲取本年1月到當前月份
8、public String getNextDay(String datestr)
--退一天(獲取昨天)
9、public String ListMapToStrs(List<HashMap> list,String name)
--將集合中HashMap的指定列收集成字符串返回 多個用逗號分開
10、public String ListStringToStrs(List<String> list)
--將list轉成字符串
11、private String getWeekFirstDay()
--獲得當前周- 周一的日期
12、private String getWeekLastDay()
--獲得當前周- 周日的日期
13、public HashMap getWeekFirstToLastDay()
--獲取本周 周一到周日 的日期
14、public String unitWConversion(String str,int point,boolean showunit)
--萬元單位換算
15、public String getBaifenbi(String d1,String d2)
--獲取占比
16、public String getEndDayByMonth(String datatimestr)
--獲取指定日期所屬月份的 最後一天
17、public static int compareDate(String DATE1, String DATE2)
--比較兩個日期大小 DATE1>DATE2 1,DATE1<DATE2 2,DATE1=DATE2 3
18、public HashMap getTongbiData(String sd1,String sd2)
--計算同比方法
/** * 用於通過表單選中的復選框獲取它的值 */ function getSelectedMasterKeys(){ var r_arr=new Array(); var elements=document.getElementsByTagName("INPUT"); var val=""; for(i=0;i<elements.length;i++){ var name=elements[i].name; if(elements[i].type=="checkbox"){ if(name.indexOf("master_key")!=-1){ if(elements[i].checked==true){ r_arr[r_arr.length]=elements[i].value; } } } } return r_arr; }
/** * 獲取當前年 * @return 字符串 */ public String getCurMonth(){ Calendar now = Calendar.getInstance(); String datestr = new SimpleDateFormat("yyyy-MM").format(now.getTime()); return datestr; }
/** * 匯總指定列的 總和 * @param list * @param coulumName 列名 * @param point 保留小數位 * @return */ public String getListColumnSum(List<HashMap> list,String coulumName,int point){ DecimalFormat df = new DecimalFormat("######0.00"); String main_total_str="0"; String main_total="0.00"; for(HashMap map:list){ String total=this.getMapValue(map,coulumName); df.setMaximumFractionDigits(point); df.setMinimumFractionDigits(0); df.setRoundingMode(RoundingMode.FLOOR); String total2=df.format(Double.parseDouble(total)/100f); BigDecimal b1 = new BigDecimal(total2); BigDecimal b2 = new BigDecimal(main_total+""); if(total!=null && !total.equals("")){ main_total=df.format(b1.add(b2).doubleValue()); } } main_total_str=this.getDoublePoint(df.format(Double.parseDouble(main_total)),point); return main_total_str; }
/** * 保留小數不進行四舍五入 * @param d * @return */ public String getDoublePoint(Double d,int point){ String r_dstr=d+""; String[] d_arr=(d+"").split("\\."); if(d_arr.length==2){ String point_str=d_arr[1]; if(!point_str.equals("") && point_str.length()>9){point_str=point_str.substring(0,9);} if(Integer.parseInt(point_str)==0){ r_dstr=d_arr[0]; }else{ if(point>d_arr[1].length()){point=d_arr[1].length();} r_dstr=d_arr[0]+"."+d_arr[1].substring(0, point); } } return r_dstr; }
/** * 下一月(還沒到來) * @param datestr * @return */ public String getNextMonth(String datestr){ SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); String newDatestr=""; try { Date d = sdf.parse(datestr); Calendar calendar = Calendar.getInstance(); calendar.setTime(d); calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH)+1); newDatestr = sdf.format(calendar.getTime()); } catch (Exception e) { e.printStackTrace(); } return newDatestr; }
/** * 獲取本年1月到當前月份 * @return */ public List<String> getStartMonthToCurMonth(){ Calendar now = Calendar.getInstance(); String cmonth = new SimpleDateFormat("MM").format(now.getTime()); List<String> list=new ArrayList<String>(); int cmonth_int=Integer.parseInt(cmonth); for(int i=1;i<=cmonth_int;i++){ list.add(i+""); } return list; }
/** * 退一天 * @param datestr * @return */ public String getNextDay(String datestr){ SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); String newDatestr=""; try { Date d = sdf.parse(datestr); Calendar calendar = Calendar.getInstance(); calendar.setTime(d); calendar.add(calendar.DATE,-1); newDatestr = sdf.format(calendar.getTime()); } catch (Exception e) { e.printStackTrace(); } return newDatestr; }
/** * 將集合中HashMap的指定列收集成字符串返回 多個用逗號分開s * @param list * @param name * @return */ public String ListMapToStrs(List<HashMap> list,String name){ String strs=""; for(HashMap map:list){ String value=this.getMapValue(map,name); if(!value.equals("")){ strs=strs+value+","; } } if(strs.endsWith(",")){ strs=strs.substring(0,strs.length()-1); } return strs; }
/** * 將list轉成字符串 * @param list * @return */ public String ListStringToStrs(List<String> list){ String strs=""; for(String str:list){ if(!str.equals("")){ strs=strs+str+","; } } if(strs.endsWith(",")){ strs=strs.substring(0,strs.length()-1); } return strs; }
/** * 獲得當前周- 周一的日期 * @return */ private String getWeekFirstDay() { int mondayPlus = getMondayPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE, mondayPlus); Date monday = currentDate.getTime(); String default_format="yyyy-MM-dd"; SimpleDateFormat df=new SimpleDateFormat(default_format); String preMonday = df.format(monday); return preMonday; }
/** * 獲得當前周- 周日 的日期 * @return */ private String getWeekLastDay() { int mondayPlus = getMondayPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE, mondayPlus +6); Date monday = currentDate.getTime(); String default_format="yyyy-MM-dd"; SimpleDateFormat df=new SimpleDateFormat(default_format); String preMonday = df.format(monday); return preMonday; }
/** * 獲取本周 周一到周日 日期 * @return */ public HashMap getWeekFirstToLastDay(){ HashMap weekday=new HashMap(); weekday.put("starttime",this.getWeekFirstDay()); weekday.put("endtime",this.getWeekLastDay()); return weekday; }
/** * 萬元單位換算 * @param str 需要轉換的值 * @param point 保留單位數 * @param unitstr 單位萬元 * @return */ public String unitWConversion(String str,int point,boolean showunit){ DecimalFormat df = new DecimalFormat("######0.00"); df.setMaximumFractionDigits(point); df.setRoundingMode(RoundingMode.FLOOR); String total=str; String unitstr=""; if(Double.parseDouble(str)>9999){ total=df.format(Double.parseDouble(str)/10000f); if(showunit==true){unitstr="萬元";} }else{ total=total; if(showunit==true){unitstr="元";} } return total+unitstr; }
/** * 獲取占比 * @param d1 * @param d2 * @return */ public String getBaifenbi(String d1,String d2){ String value="0"; if(d1.matches("^[-\\+]?[.\\d]*$") && d2.matches("^[-\\+]?[.\\d]*$")){ Double tb=(Double.parseDouble(d1)/Double.parseDouble(d2))*100; value=this.getDoublePoint(tb,2); } if(!value.matches("^[-\\+]?[.\\d]*$")){ value="0"; } return value; }
/** * 獲取指定日期所屬月份的 最後一天 * @param datatimestr * @return */ public String getEndDayByMonth(String datatimestr){ String endtime=""; try{ SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Date d = sdf.parse(datatimestr); Calendar calendar = Calendar.getInstance(); calendar.setTime(d); calendar.set(Calendar.DATE, 1); calendar.roll(Calendar.DATE, -1); int maxDate = calendar.get(Calendar.DATE); endtime=datatimestr.substring(0,datatimestr.lastIndexOf("-"))+"-"+this.zeroFill(maxDate+"",2); }catch(Exception ex){ ex.printStackTrace(); } return endtime; }
/** * 比較兩個日期大小 DATE1>DATE2 1,DATE1<DATE2 2,DATE1=DATE2 3 * @param DATE1 * @param DATE2 * @return */ public static int compareDate(String DATE1, String DATE2) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); try { Date dt1 = df.parse(DATE1); Date dt2 = df.parse(DATE2); if (dt1.getTime() > dt2.getTime()) { return 1; } else if (dt1.getTime() < dt2.getTime()) { return 2; } else if (dt1.getTime() == dt2.getTime()) { return 3; } } catch (Exception exception) { exception.printStackTrace(); } return 0; }
/** * 計算同比方法 * @param d1 上年數據 * @param d2 本年數據 * @return */ public HashMap getTongbiData(String sd1,String sd2){ //System.out.println("sd1::" + sd1 + " sd2:"+sd2); Double d1=Double.parseDouble(sd1); Double d2=Double.parseDouble(sd2); String orderby=""; String value=""; Double tb=0.00; if(d1>0){//上一年有數據 if(d2>0){ if(d2>d1){ orderby="asc";//代表上升 tb=(Double.parseDouble((d2-d1)+"")/Double.parseDouble(d1+""))*100; }else{//代表下升 if(!d2.equals(d1)){ orderby="desc"; } tb=(Double.parseDouble((d1-d2)+"")/Double.parseDouble(d1+""))*100; } }else{ if(d2>0){ orderby="desc";//代表下降 }else{ orderby=""; } } }else{//上一年沒有數據 if(d2>0){ orderby="asc"; tb=100.0; }else{ tb=0.0; } } value=this.getDoublePoint(tb,2)+"%"; HashMap map=new HashMap(); map.put("value",value); map.put("orderby",orderby); return map; }
/** * username:nvalue,id:idval * 獲取規字符串中的指定名稱的某個字段值 * @param filters * @param name * @return */ public String getValueByName(String params,String name){ String value=""; String[] one_arr=params.split(","); for(int i=0;i<one_arr.length;i++){ if(!one_arr[i].equals("")){ String[] two_arr=one_arr[i].split(":"); if(two_arr[0].equals(name)){ if(two_arr.length>1){ value=two_arr[1]; } } } } return value; }
Java公用方法