在java中添加30天到目前为止 [英] Add 30 days to Date in java

查看:652
本文介绍了在java中添加30天到目前为止的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么当我今天添加30天到今天这一天 - 30,当我加20时它会增加??

why when i add 30 days to today's day i got today's day - 30, and when i add 20 it adds??

这里是一个样本

import java.text.DateFormat;
import java.util.Date;

public class DatePlus
{

    public static void main(String[] args)
    {
        Date now = new Date();
        Date now1 = new Date();
        Date now2 = new Date();
        DateFormat currentDate = DateFormat.getDateInstance();

        Date addedDate1 = addDays(now2, 20);
        Date addedDate2 = addDays(now1, 30);
        System.out.println(currentDate.format(now));
        System.out.println(currentDate.format(addedDate1));
        System.out.println(currentDate.format(addedDate2));
    }

    public static Date addDays(Date d, int days)
    {
        d.setTime(d.getTime() + days * 1000 * 60 * 60 * 24);
        return d;
    }
}

这是控制台

Jul 30, 2012
Aug 19, 2012
Jul 10, 2012


推荐答案

这是因为 30 * 1000 * 60 * 60 * 24 溢出 Integer.MAX_VALUE ,而 20 * 1000 * 60 * 60 * 24 则没有。

This is because 30 * 1000 * 60 * 60 * 24 overflows Integer.MAX_VALUE, while 20 * 1000 * 60 * 60 * 24 does not.

这篇关于在java中添加30天到目前为止的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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