首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上周date from Date()

上周date from Date()
EN

Stack Overflow用户
提问于 2013-03-28 10:09:11
回答 4查看 200关注 0票数 1

目标:我想使用Date()将接下来的12周中一周的最后一天(星期日)转换为单独的字符串

我有下面给我的正确的日期格式。我只需要关于实现我目标的最佳解决方案的建议。

代码语言:javascript
复制
    DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
    Date date = new Date(0);
    System.out.println(dateFormat.format(date)); 
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-28 10:23:00

Java的日期系统让我感到困惑,但我认为您应该这样做:

1)做一个GregorianCalendar,而不是约会。

2) Calendar.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY)以获取本周星期日的日期。

3)在for循环中,将7天添加到日历中12次。对每个循环执行一些操作(例如,使用getTime()从GregorianCalendar获取日期)

票数 1
EN

Stack Overflow用户

发布于 2013-03-28 12:20:55

试一试

代码语言:javascript
复制
    GregorianCalendar c = new GregorianCalendar();
    for (int i = 0; i < 12;) {
        c.add(Calendar.DATE, 1);
        if (c.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
            System.out.println(DateFormat.getDateInstance().format(c.getTime()));
            i++;
        }
    }
票数 1
EN

Stack Overflow用户

发布于 2015-06-21 19:16:27

首先,一周的最后一天并不总是和星期天一样,因为这取决于你使用的是哪种语言环境。

如果您使用的是Java 8,那么解决方案非常简单:

代码语言:javascript
复制
LocalDate firstJanuary = LocalDate.parse("01/01/2015",
                           DateTimeFormatter.ofPattern("MM/dd/yyyy"));

//last day of the week
TemporalField fieldUS = WeekFields.of(Locale.US).dayOfWeek();
LocalDate lastDayOfWeek = firstJanuary.with(fieldUS,7);
System.out.println(lastDayOfWeek);

//sunday
LocalDate sunday = firstJanuary.with(DayOfWeek.SUNDAY);
System.out.println(sunday);

要迭代到接下来的几周,只需使用:

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

https://stackoverflow.com/questions/15673020

复制
相关文章

相似问题

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