java自定义工具方法-持续更新
1、根据身份证获取出生日期,LocalDateTime
/** * 根据身份证获取出生日期 * @param idCard * @return * @throws ParseException */ public static LocalDateTime GetBirthByIdCard(String idCard) { Date birth = null; try { if (idCard.length() == 18) { String year = idCard.substring(6).substring(0, 4);// 得到年份 String month = idCard.substring(10).substring(0, 2);// 得到月份 String day = idCard.substring(12).substring(0, 2);// 得到日 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); birth = format.parse(year + "-" + month + "-" + day); } else if (idCard.length() == 15) { String year = "19" + idCard.substring(6, 8);// 年份 String month = idCard.substring(8, 10);// 月份 String day = idCard.substring(10, 12);// 得到日 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); birth = format.parse(year + "-" + month + "-" + day); } if(birth!=null){ return LocalDateTime.ofInstant(birth.toInstant() , ZoneId.systemDefault()); } } catch (ParseException e) { } return null; }
2、输入流转为数组
/**
* 输入流转换成byte[]字节数组
* @param input
* @return
*/
public static byte[] toByteArray(InputStream input){
ByteArrayOutputStream output = null;
BufferedInputStream bis = null;
try {
bis = new BufferedInputStream(input);
output = new ByteArrayOutputStream();
int result = bis.read();
while(result != -1) {
output.write((byte) result);
result = bis.read();
}
return output.toByteArray();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if(bis != null){
bis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if(output != null){
output.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
3、生成订单编号
/* 生成订单编号 */ public static String Get16UUID(String typeStr) { String machined=""; SimpleDateFormat sdf =new SimpleDateFormat("YYMMdd"); String dayTime=sdf.format(new Date()); int hashcode= UUID.randomUUID().toString().hashCode(); if(hashcode<0) { hashcode=-hashcode; } String value=typeStr+machined+dayTime+String.format("%010d",hashcode); return value; }
4、生成19位long型唯一数字id
/** * 生成19位long型唯一数字id * @return */ public static long GetLong19UUID() { // String nanoRandom = System.nanoTime() + "" + random.nextInt(99999); SimpleDateFormat sdf =new SimpleDateFormat("YYMMdd"); String dayTime=sdf.format(new Date()); int hashcode= UUID.randomUUID().toString().hashCode(); if(hashcode<0){ hashcode=-hashcode; } int i = (int)(Math.random()*900 + 100); String value = dayTime+String.format("%010d",hashcode)+ i; long l = Long.parseLong(value); return l; }
吾乃代码搬运工,侵联删
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了