我有以下内容:
Date now = new Date();
Date futureDate = new Date(now.getYear(), now.getMonth(), now.getDay() + 30);
Run Code Online (Sandbox Code Playgroud)
我想根据当前日期(现在)将未来日期值设置为30天.
当我调试它时,现在是正确的日期,futureDate是:
Sat Jan 05 00:00:00 EST 2013
Run Code Online (Sandbox Code Playgroud)
今天的日期,现在的价值是:美国东部时间2012年12月29日17:31:58.
这对我没有意义吗?
我正在使用util.Date.
因为getDay()
返回星期几,而不是月份的日期.
所以你的
now.getDay() + 30
Run Code Online (Sandbox Code Playgroud)
周六+ 30 = 6 + 30 = 12月36日= 1月5日
快速解决方法是用以下代码替换您的代码:
now.getDate() + 30
Run Code Online (Sandbox Code Playgroud)
但正如其他人已经建议的那样,java.util.Date
有点被弃用了.你应该使用Calendar.add()
.所以你的代码会变成:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, +30);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
305 次 |
最近记录: |