如何从 Java 中的 Date 对象中减去 X 天? [英] How to subtract X day from a Date object in Java?

查看:33
本文介绍了如何从 Java 中的 Date 对象中减去 X 天?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想做类似的事情:

Date date = new Date(); // current date
date = date - 300; // substract 300 days from current date and I want to use this "date"

怎么做?

推荐答案

Java 8 及更高版本

随着 Java 8 的日期时间 API 的变化,使用 <代码>本地日期

LocalDate date = LocalDate.now().minusDays(300);

同样你可以拥有

LocalDate date = someLocalDateInstance.minusDays(300);

参考 https://stackoverflow.com/a/23885950/260990 java.util.Date 之间的转换<--> java.time.LocalDateTime

Refer to https://stackoverflow.com/a/23885950/260990 for translation between java.util.Date <--> java.time.LocalDateTime

Date in = new Date();
LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault());
Date out = Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant());

Java 7 及更早版本

使用日历add() 方法

Calendar cal = Calendar.getInstance();
cal.setTime(dateInstance);
cal.add(Calendar.DATE, -30);
Date dateBefore30Days = cal.getTime();

这篇关于如何从 Java 中的 Date 对象中减去 X 天?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆