Java实现Date日期加减和保留日期部分

简介: Java实现Date日期加减;Java实现Date保留日期部分。

Java实现Date日期加减

private static Date addDay(Date date, int days) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    calendar.add(Calendar.DATE, days);
    return calendar.getTime();
}
  • Calendar.YEAR:年
  • Calendar.MONTH:月
  • Calendar.DATE:日
  • Calendar.HOUR:小时
  • Calendar.MINUTE:分钟
  • Calendar.SECOND:秒

使用示例

public static void main(String[] args) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = new Date(1618459828000L);
    System.out.println(sdf.format(date));
    date = addDay(date, 3);
    System.out.println(sdf.format(date));
}

输出:

2021-04-15 12:10:28
2021-04-18 12:10:28

Java实现Date保留日期部分

private static Date getDate(Date date) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    // 时
    calendar.set(Calendar.HOUR_OF_DAY, 0);
    // 分
    calendar.set(Calendar.MINUTE, 0);
    // 秒
    calendar.set(Calendar.SECOND, 0);
    // 毫秒
    calendar.set(Calendar.MILLISECOND, 0);
    return calendar.getTime();
}

使用示例

public static void main(String[] args) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = new Date(1618459828000L);
    System.out.println(sdf.format(date));
    date = getDate(date);
    System.out.println(sdf.format(date));
}

输出:

2021-04-15 12:10:28
2021-04-15 00:00:00
相关文章
|
26天前
|
Java API
Java的日期类都是怎么用的
【10月更文挑战第1天】本文介绍了 Java 中处理日期和时间的三个主要类:`java.util.Date`、`java.util.Calendar` 和 `java.time` 包下的新 API。`Date` 类用于表示精确到毫秒的瞬间,可通过时间戳创建或获取当前日期;`Calendar` 抽象类提供丰富的日期操作方法,如获取年月日及时区转换;`java.time` 包中的 `LocalDate`、`LocalTime`、`LocalDateTime` 和 `ZonedDateTime` 等类则提供了更为现代和灵活的日期时间处理方式,支持时区和复杂的时间计算。
31 14
|
27天前
|
Java 数据库
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
44 3
|
29天前
|
安全 Java API
时间日期API(Date,SimpleDateFormat,Calendar)+java8新增日期API (LocalTime,LocalDate,LocalDateTime)
这篇文章介绍了Java中处理日期和时间的API,包括旧的日期API(Date、SimpleDateFormat、Calendar)和Java 8引入的新日期API(LocalTime、LocalDate、LocalDateTime)。文章详细解释了这些类/接口的方法和用途,并通过代码示例展示了如何使用它们。此外,还讨论了新旧API的区别,新API的不可变性和线程安全性,以及它们提供的操作日期时间的灵活性和简洁性。
|
15天前
|
Java
Java的Date类使用
Java的Date类使用
11 0
|
2月前
|
前端开发 JavaScript Java
【前端学java】java中的日期操作(13)
【8月更文挑战第10天】java中的日期操作
20 2
【前端学java】java中的日期操作(13)
|
1月前
|
Java API
java date 增加10s后的时间
在 Java 中,要将 `Date` 对象增加 10 秒,可以通过 `Calendar` 类(适用于 Java 8 之前)或 `java.time` 包中的 `LocalDateTime`、`ZonedDateTime` 和 `Instant` 类(Java 8 及以上)实现。使用 `Calendar` 类时,需设置并修改 `Calendar` 实例。而在 `java.time` 包中,可以使用 `plus` 方法结合 `ChronoUnit.SECONDS` 来增加秒数。具体选择取决于是否需要处理时区以及 Java 版本。
|
2月前
|
Java
比较两个日期是否相等Java
这篇文章提供了Java中比较两个日期是否相等的两种方法:使用`Calendar`类和`SimpleDateFormat`类来确定两个日期是否为同一天,并附有详细的代码示例和测试结果。
|
3月前
|
Java
Java中将保留四位小数的Double转换为String的方法详解
选择合适的方法,可以使代码更加简洁、高效,同时也能满足不同场景下的需求。
48 5
|
3月前
|
Java API
Java基础之日期和时间
【7月更文挑战第4天】 Java日期时间API概览:Java 8之前,Date表示不可变时间点,Calendar用于计算,SimpleDateFormat处理格式化。Date的setXXX方法不推荐,Calendar支持加减操作。时区处理用TimeZone,Time仅处理时间(不含日期)。Java 8引入java.time包,提供Instant、LocalDate等线程安全类,改进了性能和易用性,支持时区和更复杂操作。后续将探讨Java 8的新特性!
38 1
|
3月前
|
安全 Java API
Java基础之新日期和时间
“【7月更文挑战第6天】”Java 8 引入了`java.time`包,改进了日期和时间处理。新API包括:`LocalDate`(线程安全的日期)、`LocalTime`(时间)、`LocalDateTime`(日期和时间)、`ZonedDateTime`(带时区的日期和时间)、`Instant`(时间戳)、`DateTimeFormatter`(线程安全的格式化器)、`Period`(日期间隔)和`Duration`(时间间隔)。
25 0