Java字符串 日期格式 数据转换 保留小数 数字相加减等
/**
辅助工具类
@author zbk
*/
public class CommonUtils {
private final static Logger logger = Logger.getLogger(CommonUtils.class);
// 默认日期格式
public static final String DATE_FMT = “yyyy-MM-dd”; // 日期
public static final String TIME_FMT = “HH:mm:ss”; // 时间
public static final String DATE_TIME_FMT = “yyyy-MM-dd HH:mm:ss”; // 日期时间
public static final String DATE_TIME = “yyyy-MM-dd HH:mm”;
public static final String MONTH_FMT = “yyyy-MM”; // 日期
public static final String DATA_TIME_FMT2 = “yyyy年MM月dd日 HH:mm”;
//缓存前缀
public final static String REDIS_IDENT = “O2O_FS:”;
//未验证粉丝编号 不要做修改,否则数据统计会出现错误
public final static String NO_VALIDATION = “no-validation”;
// 验证的正则表达式
private static final String REG_ALPHA = “1+$”;
private static final String REG_ALPHANUM = “2+$”;
private static final String REG_NUMBER = “^\d+$”;
private static final String REG_START_NUMBER = “^(\d+)(.*)”;
private static final String REG_INTEGER = “3?[1-9]\d* ∣ 0 |^0 ∣0/”;
private static final String REG_FLOAT = “[-\+]?\d+(\.\d+)?$”;
private static final String REG_PHONE = “^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$”;
private static final String REG_MOBILE = “^((\+86)|(86))?(1)\d{10}$”;
private static final String REG_EMAIL = “^\w+([-+.]\w+)@\w+([-.]\w+)\.\w+([-.]\w+)*$”;
private static final String REG_ZIP = “4\d{5}$”;
private static final String REG_IP = “^(???:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$”;
private static final String REG_URL = “^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-])(\.[A-Z0-9][A-Z0-9_-])+)(?\d+))?\/?/i”;
private static final String REG_CHINESE = “5+$”;
private static final String REG_MONEY = “[\-\+]?\d+(\.\d+)?$”;
/**
/**
/**
/**
/**
}
public static boolean isNull(Object value, Object… items) {
if (isNull(value) || isNull(items)) {
return true;
}
for (Object item : items) {
if (isNull(item)) {
return true;
}
}
return false;
}
public static boolean isNotNull(Object value) {
return !isNull(value);
}
public static boolean isNotNull(Object value, Object… items) {
return !isNull(value, items);
}
/**
public static Map<String, Object> arrayToMap(String[] array) {
Map<String, Object> maps = new HashMap<String, Object>();
for (int i = 0; i < array.length; i++) {
maps.put(String.valueOf(i), array[i]);
}
return maps;
}
public static Map<String, Object> arrToMap(String[] array) {
Map<String, Object> map = new HashMap<String, Object>();
for (int i = 0; i < array.length; i++) {
map.put(array[i], array[i]);
}
return map;
}
public static boolean isAlpha(String value) {
if (isNull(value)) return false;
return Pattern.matches(REG_ALPHA, value);
}
public static boolean isAlphanum(String value) {
if (isNull(value)) return false;
return Pattern.matches(REG_ALPHANUM, value);
}
public static boolean isNumber(String value) {
if (isNull(value)) return false;
return Pattern.matches(REG_NUMBER, value);
}
public static boolean isStartNumber(String value) {
if (isNull(value)) return false;
return Pattern.matches(REG_START_NUMBER, value);
}
public static boolean isInteger(String value) {
if (isNull(value)) return false;
return Pattern.matches(REG_INTEGER, value);
}
public static boolean isFloat(String value) {
if (isNull(value)) return false;
return Pattern.matches(REG_FLOAT, value);
}
public static boolean isMoney(String value) {
if (isNull(value)) return false;
return Pattern.matches(REG_MONEY, value);
}
public static boolean isPhone(String value) {
if (isNull(value)) return false;
return Pattern.matches(REG_PHONE, value);
}
public static boolean isMobile(String value) {
if (isNull(value)) return false;
return Pattern.matches(REG_MOBILE, value);
}
public static boolean isEmail(String value) {
if (isNull(value)) return false;
return Pattern.matches(REG_EMAIL, value);
}
public static boolean isZip(String value) {
return Pattern.matches(REG_ZIP, value);
}
public static boolean isIP(String value) {
return Pattern.matches(REG_IP, value);
}
public static boolean isURL(String value) {
return Pattern.matches(REG_URL, value);
}
public static boolean isChinese(String value) {
return Pattern.matches(REG_CHINESE, value);
}
/**
/**
/**
/**
//构建一个随机数
public static String buildRandom() {
int r1 = (int) (Math.random() * 10);
int r2 = (int) (Math.random() * 10);
int r3 = (int) (Math.random() * 10);
long now = System.currentTimeMillis();
return String.valueOf(now) + String.valueOf(r1) + String.valueOf(r2) + String.valueOf(r3);
}
/**
/**
/**
/**
/**
/**
格式化日期
*/
public static String formatDateTime(Date date) {
return formatDateTime(DATE_TIME_FMT, date);
}
public static String formatDateTime(String fmt, Date date) {
if (isNull(fmt) || isNull(date)) {
return null;
}
String temp = new SimpleDateFormat(fmt).format(date);
return temp;
}
/**
public static Date dateStrToDate(String fmt, String date) {
Date temp = null;
try {
temp = new SimpleDateFormat(fmt).parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return temp;
}
/**
/**
public static double add(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
}
public static double sub(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
}
public static double mul(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
}
public static double div(double v1, double v2, int scale) {
if (scale < 0) {
throw new IllegalArgumentException(“The scale must be a positive integer or zero”);
}
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static String divide(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2, 2, BigDecimal.ROUND_HALF_UP).toString();
}
public static double round(double v, int scale) {
if (scale < 0) {
throw new IllegalArgumentException(“The scale must be a positive integer or zero”);
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal(“1”);
return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
/**
public static String validateCode() {
Random random = new Random();
String code = “”;
for (int i = 0; i < 6; i++) {
code += random.nextInt(10);
}
return code;
}
/**
public static void main(String[] args) {
Map<String, String> map = Maps.newHashMap();
map.put(“te”, “11”);
if (map.containsKey(“te”)) {
System.out.println(“111111111111111111111111111111”);
}
}
}