小程序模板网

万年历—Java计算感恩节是哪天?

2018-04-25 人中龙

2017年感恩节的日期: 
2017年11月23日 星期四 
(丁酉年(鸡年)十月初六) 


公历11月第4个周四是感恩节(Thanksgiving Day)。是美国和加拿大共有的节日,由美国人民独创,原意是为了感谢上天赐予的好收成、感谢印第安人的帮助。

 

Java计算感恩节代码

 

				
  1. [java] view plain copy
  2. /**
  3. *
  4. * 开发公司:SOJSON在线工具 <p>
  5. * 版权所有:© www.sojson.com<p>
  6. * 博客地址:http://www.sojson.com/blog/ <p>
  7. * <p>
  8. *
  9. * Java 感恩节计算
  10. *
  11. * <p>
  12. *
  13. * 区分 责任人 日期    说明<br/>
  14. * 创建 周柏成 2017年5月20日  <br/>
  15. *
  16. * @author zhou-baicheng
  17. * @email i@itboy.net
  18. * @version 1.0,2017年5月20日 <br/>
  19. *
  20. */
  21. public static void main(String[] args) {
  22. //计算2017年的感恩节
  23. int year = 2017;
  24.  
  25. //计算感恩节,感恩节为每年的11月的第四个星期四
  26. Calendar cal = Calendar.getInstance();
  27. cal.set(Calendar.YEAR, year);
  28. //因为从0开始,所以减1
  29. cal.set(Calendar.MONTH, 11-1);
  30. int maxDate = cal.getActualMaximum(Calendar.DATE);
  31. int sundays = 0;
  32. for(int i = 1; i <= maxDate; i ++) {
  33. cal.set(Calendar.DATE, i);
  34. //判断是周四,
  35. if(cal.get(Calendar.DAY_OF_WEEK) == 4+1) {
  36. sundays ++;
  37. //第4个周四,返回
  38. if(sundays == 4) {
  39. break;
  40. }
  41. }
  42. }
  43. String date = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
  44. System.out.printf("%s年的感恩节是:%s",year,date);
  45. //2017年的感恩节是:2017-11-23
  46. }


易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/24054.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询