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;
    }
复制代码

 

posted on   五官一体即忢  阅读(17)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示