linux高级编程,HuTool工具超详细笔记

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();

3.2.3、农历日期-ChineseDate

农历日期,提供生效、天干地支、传统节日等方法;

//通过农历构建

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();//壬午年丙午月庚午日

3.2.4、计时器工具

计时器功计算方法或过程执行的时间

TimeInterval timer = DateUtil.timer();

/**

  • 代码执行过程

*/

ThreadUtil.sleep(100);

//花费毫秒数

long interval = timer.interval();

//返回花费时间,并重置开始时间

timer.intervalRestart();

//花费分钟数

timer.intervalMinute();

3.3、工具类


3.3.1、字符串工具-StrUtil

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!哈哈哈

3.3.2、数字工具

/数字工具/

//加

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]

3.3.3、其他工具类

包含:数组工具、随机工具、身份证工具、脱敏工具、社会信用码

/运行命令行工具/

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

你可能感兴趣的:(程序员,linux,笔记,python)