首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >毫秒到天数

问毫秒到天数
EN

Stack Overflow用户
提问于 2011-10-20 07:45:59
回答 8查看 132.4K关注 0票数 64

我做了一些研究,但仍然找不到如何获得这些日子...下面是我得到的信息:

代码语言:javascript
复制
int seconds = (int) (milliseconds / 1000) % 60 ;
int minutes = (int) ((milliseconds / (1000*60)) % 60);
int hours   = (int) ((milliseconds / (1000*60*60)) % 24);
int days = ????? ;

请帮帮忙,我数学不好,谢谢。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-10-20 07:47:58

如果您没有另一个大于天数的时间间隔:

代码语言:javascript
复制
int days = (int) (milliseconds / (1000*60*60*24));

如果你也有几周的时间:

代码语言:javascript
复制
int days = (int) ((milliseconds / (1000*60*60*24)) % 7);
int weeks = (int) (milliseconds / (1000*60*60*24*7));

如果可能的话,最好避免使用月份和年份,因为它们没有明确定义的固定长度。严格地说,天也不是:夏令时意味着一天的长度可以不是24小时。

票数 116
EN

Stack Overflow用户

发布于 2011-10-20 07:57:05

对于这种简单的情况,应该使用TimeUnit。与显式地执行所有算术计算相比,TimeUnit的用法对所表示的内容更加明确,而且读写起来也更容易。例如,要从毫秒计算天数,可以使用以下语句:

代码语言:javascript
复制
    long days = TimeUnit.MILLISECONDS.toDays(milliseconds);

对于更高级的情况,需要在处理时间的上下文中表示更细粒度的持续时间,应该使用一个全面且现代的日期/时间API。对于JDK8+,现在包括java.time (这里是tutorials和javadocs)。对于早期版本的Java,joda-time是一个可靠的选择。

票数 137
EN

Stack Overflow用户

发布于 2021-03-05 15:14:38

转到java中的TImeUnit

为了导入使用,java.util.concurrent.TimeUnit

代码语言:javascript
复制
long millisec=System.currentTimeMillis();
long seconds=TimeUnit.MILLISECONDS.toSeconds(millisec);
long minutes=TimeUnit.MILLISECONDS.toMinutes(millisec);
long hours=TimeUnit.MILLISECONDS.toMinutes(millisec);
long days=TimeUnit.MILLISECONDS.toDays(millisec);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7829571

复制
相关文章

相似问题

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