static
void
firstMonday(
int
year,
int
month){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month -
1
);
int
day =
1
;
cal.set(Calendar.DAY_OF_MONTH, day);
while
(cal.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY){
cal.set(Calendar.DAY_OF_MONTH, ++day);
Date firstMonday = cal.getTime();
String dtStr =
new
SimpleDateFormat(
"yyyy-MM-dd"
).format(firstMonday);
System.out.println(dtStr);
* 指定年月的最后个星期一
*
@param
year
*
@param
month
static
void
lastMonday(
int
year,
int
month){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month -
1
);
cal.set(Calendar.DAY_OF_MONTH,
1
);
int
lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, lastDay);
while
(cal.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY){
cal.set(Calendar.DAY_OF_MONTH, --lastDay);
Date lastMonday = cal.getTime();
String dtStr =
new
SimpleDateFormat(
"yyyy-MM-dd"
).format(lastMonday);
System.out.println(dtStr);
* 返回指定年月的第一天(1号)是星期几
*
@param
year
*
@param
month
static
int
DayofFirstDay(
int
year,
int
month){
int
[] weekDays = {
7
,
1
,
2
,
3
,
4
,
5
,
6
};
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month -
1
);
cal.set(Calendar.DAY_OF_MONTH,
1
);
int
day = cal.get(Calendar.DAY_OF_WEEK) -
1
;
if
(day <
0
) day =
0
;
System.out.println(
"星期"
+weekDays[day]);
return
weekDays[day];
public class Main {
public static void main(String[] args) {
DayUtils.lastMonday(2016,2);
DayUtils.lastMonday(2017,2);
DayUtils.firstMonday(2016,9);
DayUtils.firstMonday(2017,9);
今天偶然在vue2/nodejs视频中看到一个计算“本月第一天星期几、本月有多少天、上一个月的最后一天是几号” 最简便最快捷的方法。
如果自己写,就很容易要判断闰年问题,那就非常复杂了。网上很多关于这些的方法,都比较复杂,而且是否有错误不可而知
所以在此记录下,以便以后会用到。
//本月第一天星期几
var firstDayOfTheMonth = (new Date(this.year...
1、日期格式化
moment().format('MMMM Do YYYY, h:mm:ss a'); // 十一
月 16日 2020, 9:57:04 上午
moment().format('dddd'); //
星期一
moment().format("MMM Do YY"); // 11
月 16日 20
moment().format('YYYY [escaped] YYYY'); // 2020 escaped 2020
public static String getDate1(int year,int month) {
Calendar instance = Calendar.getInstance();
instance.set(year, month, 1, 01, 00, 00);
instance.add(Calendar.DAY_OF_MONTH, -1)
private static void getWeekByDate(Date time) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 设置时间格式
Calendar cal = Calendar.getInstance();
cal.setT...