java 获取 获取某年某月 所有日期(yyyy-mm-dd格式字符串)

总结一些日期常用的代码,方便以后直接拿

<code>

/**
* java 获取 获取某年某月 所有日期(yyyy-mm-dd格式字符串)
* @param year
* @param month
* @return
*/
public List<String> getMonthFullDay(int year , int month){
SimpleDateFormat dateFormatYYYYMMDD = new SimpleDateFormat("yyyy-MM-dd");
List<String> fullDayList = new ArrayList<>(32);
// 获得当前日期对象
Calendar cal = Calendar.getInstance();
cal.clear();// 清除信息
cal.set(Calendar.YEAR, year);
// 1月从0开始
cal.set(Calendar.MONTH, month-1 );
// 当月1号
cal.set(Calendar.DAY_OF_MONTH,1);
int count = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int j = 1; j <= count ; j++) {
fullDayList.add(dateFormatYYYYMMDD.format(cal.getTime()));
cal.add(Calendar.DAY_OF_MONTH,1);
}
return fullDayList;
}
 
 
/**
* 某年某月的最后一天
* @param year
* @param month
* @return
*/
public String getLastDay(int year,int month){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DAY_OF_MONTH, 0); //关键!
return dateFormatYYYYMMDD.format(cal.getTime());
}

/**
* 获取某年某月某日 是 星期几
* @param year
* @param month
* @param day
* @return
*/
public String getDayOfWeek(int year , int month , int day){
//本地化
Locale.setDefault(Locale.CHINA);
String[] dayStringOfWeek = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1);
cal.set(Calendar.DAY_OF_MONTH, day);
// Java中Calendar.DAY_OF_WEEK其实表示:一周中的第几天,所以他会受到第一天是 星期一 还是 星期日 的影响
int d = cal.get(Calendar.DAY_OF_WEEK);
return dayStringOfWeek[d-1];
}

</code>

最后再贴上注意的地方!

Calendar.DAY_OF_WEEK_IN_MONTH  代表的是当前日期是当月的第几周! 比如 1-7号就永远代表一个月的第一周,8-14号就永远代表这个月的第二周!!以此类推。其不会受到该月第一天是星期几的影响

转载于:https://www.cnblogs.com/maodot/p/9773695.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值