栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

java.util.Date:7天前

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java.util.Date:7天前

从现在开始:

long DAY_IN_MS = 1000 * 60 * 60 * 24;new Date(System.currentTimeMillis() - (7 * DAY_IN_MS))

从任意

Date date

new Date(date.getTime() - (7 * DAY_IN_MS))

编辑:如其他答案所指出,如果这是一个因素,则不考虑夏令时。

只是为了澄清我在谈论的限制:

对于受日光节约时间的人 ,如果

7 days earlier
,你的意思是,如果现在的问题是
12pm noon on 14 Mar2010
,你想要的计算
7 days earlier
导致
12pm on 7 Mar 2010
,那么要小心。

该解决方案可以准确地找到日期/时间24小时* 7天= 168小时。

然而,有些人 感到惊讶 时,该解决方案发现,例如,

(14 Mar 2010 1:00pm) - 7 * DAY_IN_MS
可能会
返回一个结果
(7 Mar 2010 12:00pm)
,其中 在时区挂钟时间 不是2日期/时间之间的相同(
1pm
VS
12pm
)。这是由于当天晚上开始或结束的夏令时以及“挂钟时间”损失或增加了一个小时。

如果DST不是您要

(168 hours)
考虑的因素,或者您确实确实想要DST (无论挂钟时间的变化如何),那么此解决方案就可以正常工作。

否则,当您的时间

7 days earlier
并非真正意味着168小时(由于DST在该时间范围内开始或结束)时,您可能需要补偿。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/595658.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号