java,
分享于 点击 33285 次 点评:216
java,
1.把时间的时间戳和时区时间(2017-12-29T16:00:00.000Z)转化为2017-12-30(date格式)
/** * 字符串转日期 * @param formatDateString yyyy-MM-dd or yyyy-MM-dd'T'HH:mm:ss.SSS Z * @return */ public static Date dateFormatUtil(String formatDateString) { try { String date = formatDateString;
//日期格式的正则2017-12-29T16:00:00.000Z或2017-12-30 String regExp = "([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))"; String regExp1 = "^1\\d{12}$"; //时间戳的正则校验 Pattern p = Pattern.compile(regExp); Matcher m = p.matcher(date); Pattern p1 = Pattern.compile(regExp1); Matcher m1 = p1.matcher(date); //先判断传入的日期字符串是不是“yyyy-MM-dd”格式,如果不是则按照“yyyy-MM-dd'T'HH:mm:ss.SSS Z”格式解析 if (m.matches()) { SimpleDateFormat smf = new SimpleDateFormat("yyyy-MM-dd"); return smf.parse(date); }else if(m1.matches()){ //时间戳转换为date String res; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); long lt = new Long(date); Date date1 = new Date(lt); res = simpleDateFormat.format(date1); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date ac=sdf.parse(res); return ac; } else { date = date.replace("Z", " UTC"); //注意是空格+UTC SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z"); //注意格式化的表达式 Date d = null; d = format.parse(date); return d; } } catch (Exception e) { return null; } }
2.分隔符的列表变为数组
String str= (String) proArea.get("provinces_name"); String [] list= str.split(",");
前端传的这种类型["山西", "内蒙古", "北京"]转为 香港,澳门,北京 格式
String str= StringUtils.objToString(mapParams.get("provincesName")); String provinces=str.replace("\"",""); String s= provinces.replace("[","").replace("]","");
3.
BigDecimal数据格式保留两位小数
String change = ((new BigDecimal(leaveOfficeSalaryAndDimission.get("accumulationFund").toString())).setScale(2, BigDecimal.ROUND_HALF_UP)).toString();
相关文章
- 暂无相关文章
用户点评