个人笔记记录,仅供参考
1. 获取当前日期
// DATE 类型
private static Date getDate(){
Date date = new Date();
return date;
}
2. String类型日期格式转Date
// 格式不限于yyyy-MM-dd 取决于入参String日期格式
private static Date getDate(String date) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dates = sdf.parse(date);
System.out.println(dates);
return dates;
}
3. Date类型日期格式转String
//String 类型
// 格式 yyyyMMddHHmmss 20230506141648
// 格式 yyyy-MM-dd 2023-05-06
// 格式 dd/MM/yyyy 06/05/2023
private static String getDate(Date date){
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmm");
String str=sdf.format(date);
return str;
}
4. Date格式计算年龄
// 入参date格式 返回int格式年龄 计算年龄
public static int getAge(Date birthDay) throws Exception {
if(birthDay == null ){
throw new IllegalArgumentException(
"The birthDay is null.It's unbelievable!");
}
Calendar cal = Calendar.getInstance();
if (cal.before(birthDay)) {
throw new IllegalArgumentException("The birthDay is before Now.It's unbelievable!");
}
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH);
int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
cal.setTime(birthDay);
int yearBirth = cal.get(Calendar.YEAR);
int monthBirth = cal.get(Calendar.MONTH);
int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
int age = yearNow - yearBirth;
if (monthNow <= monthBirth) {
if (monthNow == monthBirth) {
if (dayOfMonthNow < dayOfMonthBirth) age--;
}else{ age--; }
}
return age;
}
5. 获取到当前java类的绝对路径
//ClassName 为需要查询路径的类名
String url = (ClassName.class.getResource("").getPath()).toString();
6. 将字符串转换成小数点后两位的double类型
DecimalFormat df = new DecimalFormat("##0.00");
df.format(Double.parseDouble(""));
7. MD5 加盐加密问题:
关于MD5 加密 有多种方法,推荐使用Java自带的DigestUtils类
md5Hex方法中参数如果只有需要加密的字符串就只传入字符串,如果需要加盐,则将字符串与盐以“+”相连,“+”前后空格;
8.关于base64加密编码的问题
可以直接使用Java开源的base64功能,
☆将字节数组类型的内容转换成字节数组类型的base64格式:
byte[] baseDate = Base64.encode(JsonData.toString().getBytes());
因为base64是将字节数组类型 转换成字节数组类型, 所以入参出参要转换类型
出参转换为String类型:
new String(baseDate,“UTF-8”)
☆将String类型的base64格式内容转换成字节数组类型的内容:
byte[] rs = Base64.decode(String);
出参转换为String类型:
new String(rs,“UTF-8”);
9.退出for循环
break:完全结束一个循环
continue:跳过本次循环,continue语句并没有使整个循环终止。
return:直接结束方法,for循环外面的内容也不执行了