0
A
回答
3
最简单的(幼稚)解决方案,我可以看到的是:
获取日历(Calendar.getInstance())
设置年份,月份,日期等(归零等领域)。
然后遍历加一的日期(停止,如果你在正确的月份是不是 - calendar.get(的Calendar.MONTH))
而迭代,如果calendar.get(Calendar.DAY_OF_WEEK)== Calendar.TUESDAY然后递增星期二计数器。
7
中查找Doomsday Rule - 你应该能够到该算法适用于您的问题。
+0
优秀......多年之前我遇到过这个算法,但不知道它是什么,所以我找不到它。 – 2009-09-24 00:37:15
+0
如果这个计算需要做很多工作,那么Doomsday算法可能会快很多。 – jnylen 2009-09-24 02:00:10
0
按daveb答案我有:
import java.util.Calendar;
import static java.util.Calendar.*;
public class DiasDelMes {
public static void main(String [] args) {
Calendar calendar = getInstance();
calendar.set(DAY_OF_MONTH, 1 );
int month = calendar.get(MONTH);
while(calendar.get(MONTH) == month) {
if(calendar.get(DAY_OF_WEEK) == TUESDAY) {
System.out.println(calendar.get(DAY_OF_MONTH)) ;
}
calendar.add(DAY_OF_MONTH , 1);
}
}
}
0
我一直在寻找的答案,但要解决它在Java中这样的问题8.
这里是我的解决方案:
public Stream<Temporal> listAllDaysInMonthIterative(Month month, DayOfWeek dow) {
List<Temporal> dates = new ArrayList<>();
LocalDate date = LocalDate.of(Year.now().getValue(), month.getValue(), 1);
TemporalAdjuster adjuster = TemporalAdjusters.nextOrSame(dow);
while (date.with(adjuster).get(ChronoField.MONTH_OF_YEAR) == month.getValue()) {
date = date.with(adjuster);
dates.add(date);
adjuster = TemporalAdjusters.next(dow);
}
return dates.stream();
}
运行:
@Test
public void testMondaysInMonth() {
MonthLengthReporter reporter = new MonthLengthReporter();
Stream days = reporter.listAllDaysInMonthIterative(Month.MARCH, DayOfWeek.MONDAY);
days.forEach(System.out::println);
}
相关问题
- 1. 我怎样才能得到所有月份的日期
- 2. 我怎样才能找到所有使用道场日期区域的月份的星期六
- 3. 我怎样才能在一个给定月份
- 4. 我怎样才能知道具体的ProcessName是没有崩溃
- 5. 我怎样才能找到所有ydl_opts
- 6. 我怎样才能计算两个星期之间的差异?
- 7. 我怎样才能知道DataInput的大小?
- 8. 我怎样才能知道值CABasicAnimation的keyPath
- 9. 我们如何才能得到特定月份的星期日数量? (swift)
- 10. 我怎样才能得到这样的日期星期五,10月1日22:26:23 +0200 2011
- 11. ?我怎样才能从双轨道上
- 12. 我怎样才能
- 13. 我怎样才能知道哪些提交按钮被点击
- 14. 我怎样才能知道当一个WCF操作被称为
- 15. 我怎样才能知道什么时候执行Redux动作
- 16. 我怎样才能知道哪些Python源文件被执行?
- 17. 我怎样才能知道p0是什么?
- 18. 我怎样才能知道在Android中滑动viewPager
- 19. 我怎样才能知道这是做什么?
- 20. 我怎样才能知道詹金斯构建状态
- 21. 抢在特定月份的所有星期三在PHP
- 22. 我怎样才能给第二列easyui datagrid addtab函数
- 23. 我怎样才能得到一个星期后在ios编程的日期
- 24. 只有在给定的月份和日期在javascript中才能看到按钮?
- 25. 我怎样才能以编程方式知道我的iPhone的名字
- 26. 我怎样才能从给定的字符串提取数字
- 27. 如何获得C中给定月份的所有日期#
- 28. 我怎样才能确定是否
- 29. 我怎样才能定位图像
- 30. 我怎样才能在Magento
那么我不会增加计数器,而是将它添加到列表或其他东西。我编写了你的算法并运行正常。谢谢 – OscarRyz 2009-09-24 00:17:54
你真的需要堆栈溢出来提出*那*解决方案?你在开玩笑吧? – Bombe 2009-09-24 06:05:24