package com.boco.nbd.wios.manage.util; import cn.hutool.core.date.DatePattern; import java.text.SimpleDateFormat; import java.util.Date; import java.util.regex.Pattern; /** * 工具类 * * @author xfy * @date 2022/2/11 */ public class NumberUtil { private final static int RANDOM_SIZE = 2; private static Pattern pattern = Pattern.compile("^[1]\\d{10}$"); /** * 获取随机数 * * @param start * @param end * @return */ public static int getRandomNum(int start, int end) { int gap = end - start; if (gap <= 0) { return 0; } double random = Math.random(); int floor = (int) Math.floor(random * 1000); int m = floor % gap; return m + start; } /** * 产生订单编号随机数(20位) * * @return */ public static String getRandomOrderId() { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat(DatePattern.PURE_DATETIME_MS_PATTERN); String format = sdf.format(date); for (int i = 0; i <= RANDOM_SIZE; i++) { String str = String.valueOf(((Double.valueOf(Math.random() * 10)).intValue())); format += str; } return format; } /** * 获取工单id * * @param randomNums * @return */ public static String getRandomOrderId(int randomNums) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat(DatePattern.PURE_DATE_PATTERN); String format = sdf.format(date); for (int i = 0; i <= randomNums; i++) { String str = String.valueOf(((Double.valueOf(Math.random() * 10)).intValue())); format += str; } return format; } public static int getMinuteBetweenDate(Date startTime, Date endTime) { long ms1 = startTime.getTime(); long ms2 = endTime.getTime(); return (int) ((ms2 - ms1) / (1000 * 60)); } /** * 保留两位小数,四舍五入 * * @param value * @return */ public static double roundDouble(double value) { return Math.round(value * 100) / 100.0; } /** * 获得随机数字组成的字符串 * * @param num * @return */ public static String getRandomNumbers(int num) { String result = ""; for (int i = 0; i < num; i++) { int random = Double.valueOf(Math.random() * 10).intValue(); result += random; } return result; } /** * 正则:手机号(简单), 1字头+10位数字即可. * * @param in * @return */ public static boolean validateMobilePhone(String in) { return pattern.matcher(in).matches(); } }