首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加/减毫秒日至毫秒日期

加/减毫秒日至毫秒日期
EN

Stack Overflow用户
提问于 2019-05-25 05:15:59
回答 1查看 38关注 0票数 0

我正在将天数转换为毫秒以下:-

日* 24 * 60 * 60 * 1000

当我减法/加法时,有一天会给出适当的输出,如-

代码语言:javascript
复制
Date d= new Date(); // Sat May 25 10:16:38 IST 2019

Date d1 = new Date(d.getTime() + 1 * 24 * 3600 * 1000); //Sun May 26 10:16:38 IST 2019

Date d1 = new Date(d.getTime() - 1 * 24 * 3600 * 1000); //Sun May 25 10:16:38 IST 2019

但是,当我今天试图加/减时,加/减会产生不适当的输出。今天是5月25日)

代码语言:javascript
复制
Date d= new Date();

Date newDate = new Date(d.getTime() + 25 * 24 * 3600 * 1000); //Tue Apr 30 17:36:35 IST 2019

newDate = new Date(d.getTime() - 25 * 24 * 3600 * 1000);  //Wed Jun 19 03:42:10 IST 2019

我不知道我为什么要得到这个输出。请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2019-05-25 05:21:22

25 * 24 * 3600 * 1000以int格式(多个参数为int)等于2160000000,并对此操作进行过度处理。

您应该将类型转换为long格式,并将其传递给新的日期构造函数。

例如,25天后:

代码语言:javascript
复制
Date d= new Date();
Date newDate = new Date(d.getTime() + 25L * 24 * 3600 * 1000); //Tue Apr 30 17:36:35 IST 2019

但更好的解决办法是,25天后,你的时间是:

代码语言:javascript
复制
Date d = new Date();

Calendar c = Calendar.getInstance();
c.setTime( d );
c.add( Calendar.DAY_OF_YEAR , +25 );

Date newDate = c.getTime();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56301928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档