您的位置:首页 > 编程语言 > Java开发

Java 日期的几种常见操作工具类

2016-08-10 10:21 453 查看

聊聊 Java 中日期的几种常见操作 —— 取值、转换、加减、比较

主要的知识点:

日期取值(常用)

日期转换(常用)

日期加减

日期比较(重要)

将字符串解析成日期格式

public static Date parse(String time) {
// TODO Auto-generated method stub
return parse("yyyy-MM-dd", time);
}

public static Date parse(String pattern, String time) {
// TODO Auto-generated method stub
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
return sdf.parse(time);
} catch (ParseException e) {
throw new NullPointerException("dateStr parse failed");
}
}


将日期格式化成字符串

public static String format(Date time) {
// TODO Auto-generated method stub
return format("yyyy-MM-dd", time);
}

public static String format(String pattern, Date time) {
// TODO Auto-generated method stub
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(time);
}


比较两个日期的先后

/**
* 可以比较两个日期相等的情况
* @return: 小于:-1; 等于:0; 大于:1;
*/
public static int compareTo(String date1, String date2) {
// TODO Auto-generated method stub
return parse(date1).compareTo(parse(date2));
}

public static int compareTo(Date date1, Date date2) {
return date1.compareTo(date2);
}

public static int compareTo(Date date1, String date2) {
return date1.compareTo(parse(date2));
}

/**
* 无法比较两个日期相等的情况
*/
public static boolean before(String date1, String date2) {
// TODO Auto-generated method stub
return parse(date1).before(parse(date2));
}

/**
* 无法比较两个日期相等的情况
*/
public static boolean after(String date1, String date2) {
// TODO Auto-generated method stub
return parse(date1).after(parse(date2));
}


在给定日期的基础上加(减)n天

public static Date addDate(String date, int num) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(parse(date));
calendar.add(Calendar.DATE, num);
return calendar.getTime();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java