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; try { output = new ByteArrayOutputStream(); byte[] buffer = new byte[1024*4]; int n = 0; while (-1 != (n = input.read(buffer))) { output.write(buffer, 0, n); } return output.toByteArray(); } catch (IOException e) { e.printStackTrace(); }finally { 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; }