首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何只减去两个Java.util.date对象的日期部分?

要只减去两个Java.util.date对象的日期部分,可以使用以下步骤:

  1. 首先,创建两个Java.util.Calendar对象,分别表示两个日期。
  2. 将第一个日期设置为第一个Calendar对象的时间。
  3. 将第二个日期设置为第二个Calendar对象的时间。
  4. 将第一个Calendar对象的时、分、秒和毫秒部分设置为零,保留日期部分。
  5. 将第二个Calendar对象的时、分、秒和毫秒部分设置为零,保留日期部分。
  6. 获取两个Calendar对象的时间戳(以毫秒为单位)。
  7. 计算两个时间戳的差值,得到日期部分的差值。
  8. 将差值转换为Java.util.Date对象。

以下是示例代码:

代码语言:txt
复制
import java.util.Calendar;
import java.util.Date;

public class DateDifference {
    public static void main(String[] args) {
        // 创建两个日期对象
        Date date1 = new Date();
        Date date2 = new Date();

        // 创建两个Calendar对象
        Calendar cal1 = Calendar.getInstance();
        Calendar cal2 = Calendar.getInstance();

        // 设置第一个Calendar对象的时间
        cal1.setTime(date1);
        // 设置第二个Calendar对象的时间
        cal2.setTime(date2);

        // 将第一个Calendar对象的时、分、秒和毫秒部分设置为零
        cal1.set(Calendar.HOUR_OF_DAY, 0);
        cal1.set(Calendar.MINUTE, 0);
        cal1.set(Calendar.SECOND, 0);
        cal1.set(Calendar.MILLISECOND, 0);

        // 将第二个Calendar对象的时、分、秒和毫秒部分设置为零
        cal2.set(Calendar.HOUR_OF_DAY, 0);
        cal2.set(Calendar.MINUTE, 0);
        cal2.set(Calendar.SECOND, 0);
        cal2.set(Calendar.MILLISECOND, 0);

        // 获取两个Calendar对象的时间戳
        long timestamp1 = cal1.getTimeInMillis();
        long timestamp2 = cal2.getTimeInMillis();

        // 计算日期部分的差值
        long difference = timestamp1 - timestamp2;

        // 将差值转换为Date对象
        Date dateDifference = new Date(difference);

        System.out.println("日期部分的差值为:" + dateDifference);
    }
}

这段代码会计算两个日期对象的日期部分的差值,并打印出差值。请注意,这里的差值是以毫秒为单位的,可以根据需要进行进一步的格式化处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

java 8:取年月日java.util.Date(时分秒清零)对象

废弃方法(@Deprecated) 如果不想要java.util.Date时分秒数据,希望将它清零,保留年月日,最简单办法是 调用setHours,setMinutes,setSeconds...Date now = new Date(); now.setHours(0); now.setMinutes(0); now.setSeconds(0); // 输出Date日期和时间部分 yyyy-MM-dd...已经是更新后对象 java.time.LocalDate 上面的办法略显复杂啊,有没有理想简洁途径让我少写点代码呢?...java8提供了一个新类LocalDate,是一个不包含时区,ISO-8601 格式日期类(比如 “2016-12-28”),LocalDate对象是个只读取(immutable class),...java.sql.Date是java.util.Date子类,是为了配合SQL DATE而设置数据类型。java.sql.Date包含年月日信息,时分秒毫秒都会清零。

7.7K60
  • 如何计算两个日期之间天数

    计算两个日期之间天数很实用,我一般用sq SELECT DATEDIFF("2089-10-01","2008-08-08") AS "北京奥运会开幕式天数" 如果用Go计算两个日期之间天数,可以使用...计算时间差:使用两个 time.Time 对象,可以通过调用它们之间 Sub 方法来计算它们时间差。这将返回一个 time.Duration 类型值。...相应 Go 代码示例: package main import ( "fmt" "time" ) // 计算两个日期之间天数差 func daysBetweenDates(date1, date2...,将它们解析为 time.Time 对象,然后计算它们之间差异,并将这个差异转换为天数。...这部分计算从1年到1969年间包含闰年数量,因为每个闰年会多出一天。 - 1969/100:格里高利历规则中,每100年会跳过一个闰年(即那一年不作为闰年),这部分减去这些年份中多计算天数。

    21110

    解决axis2处理java.util.Date类型对象时丢弃时间部分问题

    就是所有java.util.Date类型对象,不论从服务器发到客户端还是从客户端发送到服务器,都只剩下日期部分(年/月/日),时间部分(时/分/秒)则被抹掉了。。。.../article/details/12135035) 顾名思义,date中包含日期,time中包含时间(时分秒),dateTime中包含完整日期和时间。...也就是说,这个问题最简单 解决方案一 就是你需要在webservice中使用java.util.Calendar代替java.util.Date来传递完整日期时间数据。...子类所以在这里java.sql.Timestamp被当做Date处理了,所以如果不修改axis2代码,而简单地把你项目中代码中java.util.Date替换成java.sql.Timestamp...就是这里,将一个Date对象转为String时,有意丢弃了时间部分

    67920

    Java 中,如何计算两个日期之间差距?

    参考链接: Java程序计算两组之间差异 今天继续分享一道Java面试题:  题目:Java 中,如何计算两个日期之间差距? ...查阅相关资料得到这些知识,分享给大家:  java计算两个日期相差多少天小时分钟等    转载2016年08月25日 11:50:00  1、时间转换  data默认有toString() 输出格林威治时间...,比如说Date date = new Date(); String toStr = date.toString(); 输出结果类似于: Wed Sep 16 19:02:36 CST 2012   ...ss").format(date); System.out.println(dateStr); 输出结果像下面这样: 2009-09-16 07:02:36当然啦,你也可以把:hh:mm:ss去掉,输出结果也就只有年...1000* 24* 60* 60;     longnh = 1000* 60* 60;     longnm = 1000* 60;     // long ns = 1000;     // 获得两个时间毫秒时间差异

    7.6K20

    loadrunne如何测某个方法,或压测录制脚本部分代码运行用时

    做压测时,因为需要只需要我去调用服务器工程上一个service层(springmvc)方法: ?...我只需要调用这个接口下call方法,去编写这样一个脚本是十分困难,小编h想了一天也没有头绪,后来在同事建议下还是使用录制脚本方法去修改录制脚本,进而得到我想要。...录制脚本需要登录服务器上这个工程,还要点击相应页面,然后填写入参,提交。其中我只需要填写入参,提交这些步骤,因为这个步骤是最接近我直接调用call方法代码过程。...,只显示处理这段代码所用时间。...曲线名字就是lr_end_transaction(“Trans_1”,LR_PASS);中LR_PASS。

    54920

    Java 时间格式化(java中如何格式化一个日期)

    日期是商业逻辑计算一个关键部分. 所有的开发者都应该能够计算未来日期, 定制日期显示格式, 并将文本数据解析成日期对象....你首先必须实现抽象类一个具体子类. Date 类从Java 开发包(JDK) 1.0 就开始进化, 当时它包含了几个取得或者设置一个日期数据各个部分方法, 比如说月, 日, 和年....:44:45 PM EDT Saturday, September 29, 2001 8:44:45 PM EDT 五、Calendar 类 我们现在已经能够格式化并创建一个日期对象了, 但是我们如何才能设置和获取日期数据特定部分呢...我们又如何日期这些部分加上或者减去值呢? 答案是使用Calendar 类. 就如我们前面提到那样, Calendar 类中方法替代了Date 类中被人唾骂方法....假设你想要设置, 获取, 和操纵一个日期对象各个部分, 比方一个月一天或者是一个星期一天. 为了演示这个过程, 我们将使用具体子类 java.util.GregorianCalendar.

    6.4K30

    如何使用 JS 动态合并两个对象属性

    我们可以使用扩展操作符(...)将不同对象合并为一个对象,这也是合并两个或多个对象最常见操作。 这是一种合并两个对象不可变方法,也就是说,用于合并初始两个对象不会因为副作用而以任何方式改变。...最后,我们得到了一个新对象,它由这两个对象构造而成,而它们仍然保持完整。...使用 Object.assign() 合并JavaScript对象两个或多个对象另一种常用方法是使用内置Object.assign()方法: Object.assign(target, source1...JavaScript没有现成深合并支持。然而,第三方模块和库确实支持它,比如Lodash.merge。 总结 本文中,我们演示在如何在 JS 中合并两个对象。...介绍了spread操作符(...)和Object.assign()方法,它们都执行两个或多个对象浅合并到一个新对象中,而不会影响组成部分。 ~完,我是刷碗智,我要去刷碗了,我们下期见!

    6.7K30

    Java Date 和 Calendar

    日期是商业逻辑计算一个关键部分,所有的开发者都应该能够计算未来日期,定制日期显示格式,并将文本数据解析成日期对象。 ...格式字符串中ASCII 字符告诉格式化函数下面显示日期数据哪一个部分。EEEE是星期,MMMM是月,dd是日,yyyy是年,字符个数决定了日期如何格式化。...将文本数据解析成日期对象 假设我们有一个文本字符串包含了一个格式化了日期对象,我们希望解析这个字符串并从文本日期数据创建一个日期对象。...Calendar 类 我们现在已经能够格式化并创建一个日期对象了,但是我们如何才能设置和获取日期数据特定部分呢,比如说小时,日,分钟? 我们又如何日期这些部分加上或者减去值呢?...假设你想要设置,获取,操纵一个日期对象各个部分,比方一个月一天或者是一个星期一天,为了演示这个过程,我们将使用具体子类 java.util.GregorianCalendar。

    59220

    实体类不要再用Date了,JDK8有新时间

    除此之外,java.util.Date与 SimpleDateFormatter 都不是类型安全, 而我们接下来要使用,就是 JDK8 中日期,用来替换掉之前使用。...而 DateTimeFormatter 不但是不变对象,它还是线程安全。所以 DateTimeFormatter 可以创建一个实例,到处引用。...(longyearsToSubtract) LocalDate 当前对象减去指定年数 minusMonths(longmonthsToSubtract) LocalDate 当前对象减去指定月数 minusWeeks...(longweeksToSubtract) LocalDate 当前对象减去指定周数 minusDays(longdaysToSubtract) LocalDate 当前对象减去指定天数 compareTo...) boolean 比较两个日期对象是否相等 以上API相对来说已经是比较全免,可以满足日常开发需求了,阿粉就不再一一去测试了,如果是想看看结果,大家不妨写个测试 Demo 去试试吧。

    66730

    Java 日期 API 真烂

    记得在我刚学 Java 时候,真是搞不清楚 Date 和 Calendar 这两个类,后来我渐渐知道,原来不能全怪我啊,Java 日期 API 之烂是公认(不妨参见这篇文章,Tiago Fernandez...也就是说,java.sql.Date 是 SQL 中单纯日期类型,哪会有时分秒啊?我觉得它根本不应该设计成 java.util.Date 子类。...Date 包含年月日信息、Time 包含时分秒信息,而 Timestamp 则包含时间戳完整信息。...—— 是的,和 Date 不一样是,Calendar 年份传值不需要减去 1900(当然月份定义和 Date 还是一样),这种不一致真是让人抓狂!...比如 Date 和 Calendar 目前是可变对象,你可以随意改变对象日期或者时间,而 Joda 就将 DateTime 对象设计成 String 对象一样地不可变,能够带来线程安全等等好处,因此这一点也将被

    62410

    java_Object类、日期时间类、System类、包装类

    选择需要包含成员变量并确定。如下图所示: ? equals方法 调用成员方法equals并指定参数为另一个对象,则可以判断这两个对象是否是相同。这里“相同”有默认和自定义两种方式。...对象内容比较 如果希望进行对象内容比较,即所有或指定部分成员变量相同就判定两个对象相同,则可以覆盖重写equals方法。...Date类 java.util.Date 类 表示特定瞬间,精确到毫秒。 public Date() :分配Date对象并初始化此对象,以表示分配它时间(精确到毫秒)。...import java.util.Date; public class Demo3{ public static void main(String[] args) // 创建日期对象...= new Date(); // 将两个日期转成毫秒值,Date类方法getTime long birthdaySecond = birthdayDate.getTime();

    1.2K20

    【JavaSE专栏41】Java常用类 Date 解析,高效处理日期问题

    获取日期和时间各个部分:可以使用 get 方法获取日期和时间 年、月、日、小时、分钟 和 秒 等组成部分。...以下是一个简单示例,展示了如何使用Date类获取和设置日期和时间: import java.util.Date; public class Main { public static void...---- 四、utilDate和sqlDate类有什么区别 Java 中有两个不同 Date 类,一个是 java.util.Date,另一个是 java.sql.Date,它们之间有以下区别。...java.sql.Date 是 java.util.Date 子类,用于表示日期包含年、月、日信息,不包含时间。...设置日期和时间:通过 set 方法可以设置 Date 对象年、月、日、小时、分钟和秒等时间组成部分,用于修改日期和时间。

    47250

    JavaApi高级编程(四)Date类以及如何使用

    (该类大部分方法已过时) 2、提供操纵日期和时间各组成部分方法 3、Date 类最佳应用之一是获取系统当前时间 4、获取系统当前时间是一个长整型数据Long, Date 类实际上只是一个包裹类...字符个数决定了日期如何格式化.传递"EE-MM-dd-yyyy"会显示 星期五-02-27-2009 案例二: //实例化格式一个指定格式 格式对象 SimpleDateFormat..., 但是我们如何才能设置和获取日期数据特定部分呢, 比如说小时, 日, 或者分钟?...我们又如何日期这些部分加上或者减去值呢?   答:使用Calendar 类。...//让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数简单例子.

    1.8K20
    领券