最近找的一些关于时间的操作
根据生日求年龄
private static int getAgeByBirth(Date birthday) {
int age = 0;
try {
Calendar now = Calendar.getInstance();
now.setTime(new Date());// 当前时间
Calendar birth = Calendar.getInstance();
birth.setTime(birthday);
if (birth.after(now)) {//如果传入的时间,在当前时间的后面,返回0岁
age = 0;
} else {
age = now.get(Calendar.YEAR) - birth.get(Calendar.YEAR);
if (now.get(Calendar.DAY_OF_YEAR) > birth.get(Calendar.DAY_OF_YEAR)) {
age += 1;
}
}
return age;
} catch (Exception e) {//兼容性更强,异常后返回数据
return 0;
}
}
获取月
//获取月
private static Calendar cal;
static {
cal = Calendar.getInstance();
}
public static void getMonth(Date date){
cal.setTime(date);
//老外计算月份从0开始,转换为国内月份需要加1
int month = cal.get(cal.MONTH) + 1;
System.out.println(month);
}
或者getMonth()+1方法
求毫秒值
public void date_to_timemillies() throws ParseException {
String date="2002-12-12";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
try {
Date date_after = sdf.parse(date);
System.out.println(date_after.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
}
获取当前时间
SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
long l = System.currentTimeMillis();//获取当前时间
System.out.println(sim.format(l));