将date设置为当前月的第一天这一句代码我看不懂???可以详细解释下吗? - 爱问答

(爱问答)

将date设置为当前月的第一天这一句代码我看不懂???可以详细解释下吗?

package cn.tzs.testLocalDate;

 

import java.time.*;

public class TestLocalDate {

public static void main(String[] args){

LocalDate date = LocalDate.of(2018,2,12);

 

int month = date.getMonthValue();

int today = date.getDayOfMonth();

//int year = date.getYear();

 

//将date设置为当前月的第一天

date = date.minusDays(today-1);


DayOfWeek weekday = date.getDayOfWeek();

int value = weekday.getValue();

System.out.println("Mon Tue Wed Thu Fri Sat Sun");

 

//当前的星期与实际星期差几,就打打印几个空格占位。

for(int i = 1; i<value;i++){

System.out.print("    ");

}

//只要日期的当前月值为给定的月份值 ,就执行循环体

while(date.getMonthValue() == month){

//格式化输出当前日期在月份中的第几天

System.out.printf("%3d",date.getDayOfMonth());

//当前月份日期与,给定的日期相等时,则在后面加上*

if(date.getDayOfMonth() == today){

System.out.print("*");

}else{

System.out.print(" ");

}

//每打印一个日期后,则把当前日期向后移一天

date = date.plusDays(1);

//如果当前日期,是一个星期的星期一,则打印一个换行符。

if(date.getDayOfWeek().getValue() == 1) System.out.println();

}

if(date.getDayOfWeek().getValue() != 1) System.out.println();

 

}

}


public static String getFirstDayOfMonth(int year,int month){Calendar cal = Calendar.getInstance();//设置年份cal.set(Calendar.YEAR,year);//设置月份cal.set(Calendar.MONTH, month-1);//设置日历中月份的第1天cal.set(Calendar.DAY_OF_MONTH, 1);//格式化日期SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String firstDayOfMonth = sdf.format(cal.getTime());return firstDayOfMonth ;}

相关标签:一天

下一篇:求一个需要输入密码后就能查看到内容的软件的c语言

上一篇:做个小程序要多少钱

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?