首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中根据天数获取日期

在Java中根据天数获取日期
EN

Stack Overflow用户
提问于 2013-04-26 11:11:14
回答 5查看 9.1K关注 0票数 4

问题很简单,但令人惊讶的是,谷歌对此几乎一无所知。我有今年1月1日的number of days。在Java中如何将其转换为date

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-04-26 11:16:03

使用日历进行日期计算

代码语言:javascript
复制
    Calendar c = Calendar.getInstance();
    c.set(Calendar.YEAR, 2013);
    c.set(Calendar.MONTH, Calendar.JANUARY);
    c.set(Calendar.DATE, 1);
    c.set(Calendar.HOUR, 0);
    c.set(Calendar.MINUTE, 0);
    c.set(Calendar.SECOND, 0);
    c.set(Calendar.MILLISECOND, 0);
    c.add(Calendar.DATE, numberOfDays);
    Date date = c.getTime();

请注意,由于DST (夏季时间)的不同,不同地区的结果可能有所不同。上面的示例使用默认区域设置。

票数 3
EN

Stack Overflow用户

发布于 2013-04-26 11:25:01

您可以简单地使用SimpleDateFormatString转换为Date。模式D可以用来表示一年中的天数。

假设你有一个

代码语言:javascript
复制
int numberOfDays = 42; // Arbitrary number.

然后计算自1970年1月1日以来的天数(the Epoch)

代码语言:javascript
复制
Date date = new SimpleDateFormat("D").parse(String.valueOf(numberOfDays));

或者,此参数计算从当前年的1月1日起的天数。

代码语言:javascript
复制
Date date = new SimpleDateFormat("D yyyy").parse(numberOfDays + " " + Calendar.getInstance().get(Calendar.YEAR));
票数 7
EN

Stack Overflow用户

发布于 2013-04-26 11:32:36

当涉及到日期处理时,我发现JodaTime使用起来非常优雅。有了它,你可以这样做:

代码语言:javascript
复制
DateTime date = new DateTime().withDayOfYear(dayOfYear);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16228128

复制
相关文章

相似问题

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