如何使用Java日历从日期中减去X天?
2022-08-31 06:23:42
有谁知道使用Java日历从日期中减去X天的简单方法吗?
我无法找到任何允许我从Java中的日期直接减去X天的函数。有人能给我指出正确的方向吗?
有谁知道使用Java日历从日期中减去X天的简单方法吗?
我无法找到任何允许我从Java中的日期直接减去X天的函数。有人能给我指出正确的方向吗?
摘自此处的文档:
根据日历的规则,向给定日历字段添加或减去指定的时间量。例如,要从日历的当前时间中减去 5 天,可以通过调用以下命令来实现:
Calendar calendar = Calendar.getInstance(); // this would default to now calendar.add(Calendar.DAY_OF_MONTH, -5).
您可以使用该方法并为其传递一个负数。但是,您也可以编写一个不使用类的更简单的方法,如下所示add
Calendar
public static void addDays(Date d, int days)
{
d.setTime( d.getTime() + (long)days*1000*60*60*24 );
}
这将获取日期的时间戳值(自纪元以来的毫秒数),并添加适当的毫秒数。您可以为 days 参数传递一个负整数来执行减法。这将比“适当的”日历解决方案更简单:
public static void addDays(Date d, int days)
{
Calendar c = Calendar.getInstance();
c.setTime(d);
c.add(Calendar.DATE, days);
d.setTime( c.getTime().getTime() );
}
请注意,这两种解决方案都会更改作为参数传递的对象,而不是返回全新的 .如果需要,可以很容易地更改任何一个函数以另一种方式执行此操作。Date
Date