java - 在java中使用simpledateformat添加n天
问题描述
我们这里有一个java代码片段
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatExample {
public static void main(String[] args) {
Date date = new Date();
int days = 5;
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
String strDate= formatter.format(date.getTime() + (days*86400000));
System.out.println(strDate);
}
}
添加 n 号。到今天为止的天数。结果将是正确n=24
的,但在n=24
. 为什么会这样?
解决方案
问题是int is overflowing
考虑
int days = 25;
int d = days*86400000;
System.out.println(d);
尝试
int days = 25;
long d = days*86400000L;
System.out.println(d);
推荐阅读
- mysql - MySQL - 在提高查询性能方面需要帮助
- android - MvxRecycleView selected item background
- jquery - 在 rails 中填充动态下拉菜单
- sql - 使用 GETDATE() 从表中提取
- java - 两半 Java JButton (+/-)
- vba - 1004 错误 - SaveAs 的问题
- yii - 在 Yii2 中将参数从视图传递到布局
- nginx - Nginx、Https、反向代理、握手错误。需要审查“nginx/sites-enabled/default”文件。
- python - 从python中的共享内存字典加载
- validation - cakephp 3 表单验证相关模型数据