java獲取本月日歷表的方法
用Java獲取本月日歷表,供大家參考,具體內(nèi)容如下

這張日歷表應(yīng)該怎么打印出來?
首先,獲取本月,獲取本天,創(chuàng)建本地日期類對象。
LocalDate date=LocalDate.now(); ? ?int month=date.getMonthValue();//獲取本月 ? ?int today=date.getDayOfMonth();//獲取本天
2.創(chuàng)建一個(gè)周期對象。
date=date.minusDays(today-1);//將date設(shè)置為這個(gè)月的第一天 ? DayOfWeek weekday=date.getDayOfWeek(); ? int value=weekday.getValue();//得到星期幾的一個(gè)數(shù)值,1就返回1,2就是2.......
3.然后獲取的月份等于本月份,按照間隔輸出,等于本月那一天,就用*特殊標(biāo)記那一天。
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);4.如果如果獲取到的周天數(shù)是星期一了,那就換行。
if(date.getDayOfWeek().getValue()==1) {
?? ??? ??? ??? ?System.out.println();
?? ??? ??? ?}這樣本月日歷表就被獲取出來了。
完整代碼如下:
import java.time.*;
public class CalendarTest {
?? ?public static void main(String[] args) {
?? ??? ?// TODO 自動生成的方法存根
?? ??? ?LocalDate date=LocalDate.now();
?? ??? ?int month=date.getMonthValue();//獲取本月
?? ??? ?int today=date.getDayOfMonth();//獲取本天
?? ??? ?
?? ??? ?date=date.minusDays(today-1);//將date設(shè)置為這個(gè)月的第一天
?? ??? ?DayOfWeek weekday=date.getDayOfWeek();
?? ??? ?int value=weekday.getValue();//得到星期幾的一個(gè)數(shù)值,1就返回1,2就是2.......
? ? ? ? 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();
?? ??? ??? ?}
?? ??? ?}
?? ?}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java開發(fā)者就業(yè)需要掌握的9大專業(yè)技能
這篇文章主要為大家詳細(xì)介紹了java就業(yè)前需要掌握的專業(yè)技能,感興趣的小伙伴們可以參考一下2016-09-09
Java集合排序規(guī)則接口Comparator用法解析
這篇文章主要介紹了Java集合排序規(guī)則接口Comparator用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
SpringBoot如何通過Map實(shí)現(xiàn)策略模式
策略模式是一種行為設(shè)計(jì)模式,它允許在運(yùn)行時(shí)選擇算法的行為,在Spring框架中,我們可以利用@Resource注解和Map集合來優(yōu)雅地實(shí)現(xiàn)策略模式,這篇文章主要介紹了SpringBoot如何通過Map實(shí)現(xiàn)策略模式,需要的朋友可以參考下2025-03-03
Springboot詳解線程池與多線程及阻塞隊(duì)列的應(yīng)用詳解
本例應(yīng)用線程池、多線程、阻塞隊(duì)列處理一個(gè)流程任務(wù)。本例處理一個(gè)訂單流程,主要包括生成訂單、訂單處理、訂單入庫,下面我們一起看看2022-06-06
jsp+dao+bean+servlet(MVC模式)實(shí)現(xiàn)簡單用戶登錄和注冊頁面
這篇文章主要介紹了jsp+dao+bean+servlet(MVC模式)實(shí)現(xiàn)簡單用戶登錄和注冊頁面,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
SpringBoot JdbcTemplate批量操作的示例代碼
本篇文章主要介紹了SpringBoot JdbcTemplate批量操作的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04

