1.打印当前月日历
代码:
import java.util.Calendar;
public class MonthCalendar {
public static void main(String[] args) {
Calendar c=Calendar.getInstance();
int dayOfMonth=c.getActualMaximum(Calendar.DATE);
int today=c.get(Calendar.DAY_OF_MONTH);
c.set(Calendar.DAY_OF_MONTH,1);
int firstDayWeek=c.get(Calendar.DAY_OF_WEEK)-1;
if(firstDayWeek==0) firstDayWeek+=7;
System.out.println(" 一 二 三 四 五 六 日");
for (int i = 0; i < firstDayWeek-1; i++) {
System.out.print(" ");
}
for (int i = 1; i <=dayOfMonth ; i++) {
if(i<10&&(i+firstDayWeek-1)%7!=0)
System.out.print(" "+i+" ");
else if((i+firstDayWeek-1)%7==0)
System.out.println(i);
if(i>=10&&(i+firstDayWeek-1)%7!=0)
System.out.print(i+" ");
}
}
}
运行结果:
2.将日期设置到2020-04-20的前一个星期四的日期(日期格式yyyy-MM-dd),并输出
代码:
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
public class TimeTest1 {
public static void main(String[] args) {
LocalDate date=LocalDate.of(2020,4,20);
date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
date=date.with(TemporalAdjusters.previous(DayOfWeek.THURSDAY));
System.out.println(date);
}
}
运行结果:
3.输出当前月份中所有的星期一的日期
代码:
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
public class TimeTest2 {
public static void main(String[] args) {
LocalDate now = LocalDate.now().withDayOfMonth(1),now2=now;
while (!now.isAfter(now2.with(TemporalAdjusters.lastInMonth(DayOfWeek.MONDAY)))) {
System.out.println(now.with(TemporalAdjusters.nextOrSame(DayOfWeek.MONDAY)));
now = now.plusWeeks(1);
}
}
}
运行结果:
4.打印今年每个月的天数
代码:
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
public class TimeTest3 {
public static void main(String[] args) {
LocalDate date=LocalDate.now().withMonth(1);
for (int i=1;i<=12;i++){
System.out.println(i+"月:"+date.with(TemporalAdjusters.lastDayOfMonth()).getDayOfMonth()+"天 ");
date=date.plusMonths(1);
}
}
}
运行结果:
5.判断本月的13号是否是星期五
代码:
import java.time.LocalDate;
public class TimeTest4 {
public static void main(String[] args) {
LocalDate now = LocalDate.now().withDayOfMonth(13);
if(now.getDayOfWeek().getValue()==5) System.out.println("本月的13号是星期五");
else System.out.println("本月的13号不是星期五");
}
}
运行结果: