Java_Date_02_截断日期到日

简介: oracle 的 trunc 函数能很方便的将日期截断。现在有个需求,需要用java实现与 oracle 的 trunc 函数 相同的功能。   1.需求:将日期截断到日           即 将格式为 2018-01-04 03:06:49  日期转换为 格式为  2018-01-04  的日期 2.

oracle 的 trunc 函数能很方便的将日期截断。现在有个需求,需要用java实现与 oracle 的 trunc 函数 相同的功能。

 

1.需求:将日期截断到日

          即 将格式为 2018-01-04 03:06:49  日期转换为 格式为  2018-01-04  的日期

2.实现方法:

 用 DateFormat .format 方法获取只包含年月日的日期字符串,然后再通过 DateFormat .parse方法将日期字符串转为日期

 

        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        
        //1.获取开始日期,当前日期          2018-01-04 03:06:49
        String startDateStr=df.format(new Date());
        Date startDate=df.parse(startDateStr);
System.out.println(
"开始日期:"+new Date()); System.out.println("startDate:"+startDate);

 

 

3.需求拓展:获取日期相隔天数

方法:

按照之前的思路,我们将两个日期截断到日,然后相减即可得到 日期相隔天数

 

代码实现:

        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        
        //1.获取开始日期,当前日期          2018-01-04 03:06:49
        String startDateStr=df.format(new Date());
        Date startDate=df.parse(startDateStr);
        System.out.println("开始日期:"+new Date());
        System.out.println("startDate:"+startDate);
        
        //2.获取结束日期
        String endDateStr="2018-01-06 03:06:49";
        Date endDate=df.parse(endDateStr);
        System.out.println("结束日期:"+endDate);
        
        //3.求间隔天数
        long spanDays=(endDate.getTime()-startDate.getTime() )/ (1000*3600*24);
        
        System.out.println("间隔天数:"+spanDays);

 

目录
相关文章
|
10天前
|
Java API 调度
Java 日期与时间处理:精准掌控时间流转
Java 8引入了全新的日期和时间API,解决了旧版`java.util.Date`和`Calendar`类设计不佳、操作繁琐的问题。新API包括`LocalDate`、`LocalTime`和`LocalDateTime`类,操作简洁直观,符合日常思维习惯。同时提供了`Period`和`Duration`处理时间间隔,以及`DateTimeFormatter`进行格式化输出。这些改进使开发者能更高效、准确地处理日期和时间,极大提升了开发效率与代码质量。 (239字符)
37 5
|
2月前
|
Java 数据库
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
63 26
|
2月前
|
安全 Java API
告别SimpleDateFormat:Java 8日期时间API的最佳实践
在Java开发中,处理日期和时间是一个基本而重要的任务。传统的`SimpleDateFormat`类因其简单易用而被广泛采用,但它存在一些潜在的问题,尤其是在多线程环境下。本文将探讨`SimpleDateFormat`的局限性,并介绍Java 8引入的新的日期时间API,以及如何使用这些新工具来避免潜在的风险。
43 5
|
6月前
|
Java
Java基础之日期和时间
Java基础之日期和时间
41 1
|
7月前
|
安全 Java 程序员
Java8实战-新的日期和时间API
Java8实战-新的日期和时间API
55 3
|
3月前
|
Java API
Java的日期类都是怎么用的
【10月更文挑战第1天】本文介绍了 Java 中处理日期和时间的三个主要类:`java.util.Date`、`java.util.Calendar` 和 `java.time` 包下的新 API。`Date` 类用于表示精确到毫秒的瞬间,可通过时间戳创建或获取当前日期;`Calendar` 抽象类提供丰富的日期操作方法,如获取年月日及时区转换;`java.time` 包中的 `LocalDate`、`LocalTime`、`LocalDateTime` 和 `ZonedDateTime` 等类则提供了更为现代和灵活的日期时间处理方式,支持时区和复杂的时间计算。
60 14
|
4月前
|
Java 数据库
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
59 3
|
4月前
|
安全 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的不可变性和线程安全性,以及它们提供的操作日期时间的灵活性和简洁性。
|
5月前
|
前端开发 JavaScript Java
【前端学java】java中的日期操作(13)
【8月更文挑战第10天】java中的日期操作
30 2
|
5月前
|
Java
比较两个日期是否相等Java
这篇文章提供了Java中比较两个日期是否相等的两种方法:使用`Calendar`类和`SimpleDateFormat`类来确定两个日期是否为同一天,并附有详细的代码示例和测试结果。