DateTime类继承于java.util.Date类,为Date类扩展了众多简便方法,这些方法多是DateUtil静态方法的对象表现形式,使用DateTime对象可以完全替代开发中Date对象的使用。
//使用对象获取日期成员的年、月、日
DateTime dateTime = new DateTime(“2021-01-05 12:34:23”, DatePattern.NORM_DATETIME_FORMAT);
int year = dateTime.year();//2021
//月份
Month month = dateTime.monthEnum();//JANUARY
//日
int dayOfMonth = dateTime.dayOfMonth();//5
//格式化为字符串
String toString = dateTime.toString();
农历日期,提供生效、天干地支、传统节日等方法;
//通过农历构建
ChineseDate chineseDate = new ChineseDate(2002, 05, 21);
//通过公历构建
ChineseDate chineseDate1 = new ChineseDate(DateUtil.parseDate(“2002-01-21”));
String chineseMonth = chineseDate.getChineseMonth();//一月
String chineseMonthName = chineseDate.getChineseMonthName();//正月
// 初一
String chineseDay = chineseDate.getChineseDay();
String cyclical = chineseDate.getCyclical();// 壬午
//生肖
String chineseZodiac = chineseDate.getChineseZodiac();//马
// 传统节日
String festivals = chineseDate.getFestivals();
// 天干地支,生肖、农历
String all = chineseDate.toString();//壬午马年 五月廿一
//天干地支
String cyclicalYMD = chineseDate.getCyclicalYMD();//壬午年丙午月庚午日
计时器功计算方法或过程执行的时间
TimeInterval timer = DateUtil.timer();
/**
*/
ThreadUtil.sleep(100);
//花费毫秒数
long interval = timer.interval();
//返回花费时间,并重置开始时间
timer.intervalRestart();
//花费分钟数
timer.intervalMinute();
3.3、工具类
String str = “abCDEfghi”;
//是否为空
boolean blank = StrUtil.isBlank(str);//false
//是否不为空
boolean notBlank = StrUtil.isNotBlank(str);//true
//去掉字符串后缀(removeprefix:前缀)
String removeSuffix = StrUtil.removeSuffix(“test.txt”, “.txt”);//test
//忽略大小写去掉前缀(removeSuffixIgnoreCase:去掉后缀)
String removePrefixIgnoreCase = StrUtil.removePrefixIgnoreCase(str, “A”);//bCDEfghi
//sub方法
//顺数第2个到第4个,包含尾部包含头
String sub = StrUtil.sub(str, 2, 4);//CD
//-3表示倒数第三个字符
String sub1 = StrUtil.sub(str, 2, -3);//CDEf
//format方法(使用字符串模板代替字符串拼接)
String template = “{}爱{}!{}”;
String fin = StrUtil.format(template, “我”, “JAVA”,“哈哈哈”); //我爱JAVA!哈哈哈
/数字工具/
//加
double add = NumberUtil.add(1, 1);//2.0
//减
double sub2 = NumberUtil.sub(3, 1);//2.0
//乘
double mul = NumberUtil.mul(3, 3);//9.0
//除
double div = NumberUtil.div(3, 1);//3.0
//保留小数
BigDecimal round = NumberUtil.round(123456.123456, 4);//123456.1235
//直接舍弃
BigDecimal round1 = NumberUtil.round(123456.123456, 4, RoundingMode.DOWN);//123456.1234
//主要采用四舍五入的方式
String roundStr = NumberUtil.roundStr(123456.123456, 5);//123456.12346
//对decimal进行格式化
//每三位以逗号进行分隔
String decimalFormat = NumberUtil.decimalFormat(“,###”, 299792458);//299,792,458
//取一位整数
String s = NumberUtil.decimalFormat(“0”, 2999.12356);//2999
//取一位整数和两位小数
String s1 = NumberUtil.decimalFormat(“0.00”, 2999.12356);//2999.12
//显示为科学计数法,并取五位小数
String s2 = NumberUtil.decimalFormat(“#.#####E0”, 299.12356);//2.99124E2
//加入单位
String s3 = NumberUtil.decimalFormat(“,###米”, 29912356);//29,912,356米
//以百分比方式计数,并取两位小数
String s4 = NumberUtil.decimalFormat(“#.##%”, 0.272365);//27.24%
//生成不重复随机数(开始数、结束数、随机数数量)
int[] ints = NumberUtil.generateRandomNumber(3, 30, 5);
String s5 = Arrays.toString(ints);//[12, 24, 29, 13, 5]
//包装类型
Integer[] integers = NumberUtil.generateBySet(3, 30, 5);
String s6 = Arrays.toString(integers);//[16, 17, 18, 29, 13]
//整数列表(有序整数列表)
int[] range = NumberUtil.range(3, 30, 5);
String s7 = Arrays.toString(range);//[3, 8, 13, 18, 23, 28]
包含:数组工具、随机工具、身份证工具、脱敏工具、社会信用码
/运行命令行工具/
List ipconfig = RuntimeUtil.execForLines(“ipconfig”);
/数组工具/
//判断非空
int[] a = {};
boolean empty = ArrayUtil.isEmpty(a);//true
//判断非空
boolean notEmpty = ArrayUtil.isNotEmpty(a);//false
/随机工具-RandomUtil/
//产生10~20的随机数
int randomInt = RandomUtil.randomInt(10, 20);
//获得一个长度为4只包含数字的字符串
String randomNumbers = RandomUtil.randomNumbers(4);
//获得一个随机的字符串(只包含数字和字符)
String randomString = RandomUtil.randomString(“123456AbC”,7);
/UUID/
//生成的是不带-的字符串
String simpleUUID = IdUtil.simpleUUID();
/身份证工具/
String idCard = “612703199109010012”;
//验证身份证是否合法
boolean validCard = IdcardUtil.isValidCard(idCard);//true
//获取生日
String birthByIdCard = IdcardUtil.getBirthByIdCard(idCard);//19910901
//获取年龄
int ageByIdCard = IdcardUtil.getAgeByIdCard(idCard);//30
//获取生日年
Short yearByIdCard = IdcardUtil.getYearByIdCard(idCard);//1991
//获取生日月
Short monthByIdCard = IdcardUtil.getMonthByIdCard(idCard);//9
//获取生日天
Short dayByIdCard = IdcardUtil.getDayByIdCard(idCard);//1
//获取性别
int genderByIdCard = IdcardUtil.getGenderByIdCard(idCard);//1
//获取省份
String provinceByIdCard = IdcardUtil.getProvinceByIdCard(idCard);//陕西
/脱敏工具/
//身份证号码(前一位后两位)
String idCardNum = DesensitizedUtil.idCardNu