欢迎访问宙启技术站
智能推送

Java中日期处理的常用函数

发布时间:2023-06-11 16:23:31

Java中日期处理是开发中常见的任务之一,不仅能够用于业务逻辑处理,也可以用于操作数据库、生成报表等。Java中日期处理的常用函数如下:

1. getCurrentTime()

获取当前系统时间,常用于时间戳的生成以及记录操作日志,代码如下:

public static Date getCurrentTime() {
    Calendar calendar = Calendar.getInstance();
    return calendar.getTime();
}

2. parseDate()

将日期字符串转化为Date格式,注意传入的日期格式需要和字符串一致,常用于将前端传回的参数进行处理,代码如下:

public static Date parseDate(String dateString, String format) throws ParseException {
    SimpleDateFormat dateFormat = new SimpleDateFormat(format);
    return dateFormat.parse(dateString);
}

3. formatDate()

将Date格式的日期转化为字符串,传入的格式需要和要输出的字符串一致,常用于字符串处理及前端格式化输出,代码如下:

public static String formatDate(Date date, String format) {
    SimpleDateFormat dateFormat = new SimpleDateFormat(format);
    return dateFormat.format(date);
}

4. addTime()

对Date日期进行加减操作,常用于计算时间差及获取N天前或N天后的日期,代码如下:

public static Date addTime(Date date, int field, int amount) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    calendar.add(field, amount);
    return calendar.getTime();
}

5. getFirstDayOfMonth()

获取本月的第一天,常用于统计月报表,代码如下:

public static Date getFirstDayOfMonth(Date date) throws ParseException {
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    String dateString = dateFormat.format(date);
    String firstDay = dateString.substring(0, 8) + "01";
    return dateFormat.parse(firstDay);
}

6. getLastDayOfMonth()

获取本月的最后一天,常用于统计月报表,代码如下:

public static Date getLastDayOfMonth(Date date) throws ParseException {
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
    String lastDay = dateFormat.format(calendar.getTime());
    return dateFormat.parse(lastDay);
}

7. dateDiff()

计算两个日期之间相差的天数,常用于计算时间差及预计完成时间等,代码如下:

public static Long dateDiff(Date start, Date end) {
    Long diff = end.getTime() - start.getTime();
    Long day = diff / (24 * 60 * 60 * 1000);
    return day;
}

总之,Java中日期处理是开发中非常常见的任务,需要掌握一些常用的函数才能提高开发效率。掌握这些基础的日期处理函数之后,开发中相应的操作也会更加得心应手。