當前位置:首頁 » 編程語言 » java月份天數

java月份天數

發布時間: 2022-06-09 00:46:20

java里,如何得到一個月有多少天

按照你的要求,如何得到一個月有多少天,這里並沒有說是什麼年份,所以默認當年(不同年份的月份天數可能不一樣,例如閏年的二月)

因此問題變為

輸入條件:指定某一個月

輸出結果:當年這個月份的天數


思路:在Java8里新的時間API里,月份已經被抽象成了枚舉Month,所以可以把輸入條件定義為枚舉類型的Month,然後獲取當前時間X,把時間X的月份修改為輸入條件的月份,此時時間X變為X1,根據本身提供的方法lengthOfMonth就可以直接得到X1所在當月的天數了


代碼:(請將JDK升到8

publicstaticvoidmain(String[]args){
System.out.println(countDaysInMonth(Month.MAY));
}

(Monthmonth){
//獲取當前時間
LocalDatenow=LocalDate.now();
System.out.println(now);

//把當前時間的月份修改為輸入的月份
LocalDatethisMonthDate=now.withMonth(month.getValue());
System.out.println(thisMonthDate);
returnthisMonthDate.lengthOfMonth();
}

也可以連著寫,更美觀點

(Monthmonth){
returnLocalDate.now()
.withMonth(month.getValue())
.lengthOfMonth();
}

非常直觀且易懂好用,在Java8里with就代表著修改意思,withMonth那就是修改月份,所以整個代碼讀下來就變成

  1. 獲取當前時間A

  2. 修改A的月份為輸入條件得到時間B

  3. 計算B所在月的天數


Ⅱ Java實現給定任意年份和月份,輸出該月有多少天

程序就自己寫吧,告訴你一個思路。先判斷月份是否為2月,如果是的話判斷年是否為閏年,若為閏年2月為29天,若不是閏年為28天;如果要判斷的月份不是2月,判斷其是否為1,3,5,7,8,10,12,若是其中的一個則為31天,剩餘的月份為30天

Ⅲ 怎樣得到當前月份的天數(Java)

public static int getDayOfMonth(){
Calendar aCalendar = Calendar.getInstance(Locale.CHINA);
int day=aCalendar.getActualMaximum(Calendar.DATE);
return day;
}
這是獲取的一個月的最大的天數。。。。

Ⅳ java 獲取某月份的具體天數

樓上正解,不過樓主問出這個問題可能也是初學者,我就提供一下用簡單語法的代碼吧
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("請輸入年份");
int year= scan.nextInt();//得到需求年份
System.out.println("請輸入月份");
int month=scan.nextInt();//得到需求月份
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println(year+"年"+month+"月的天數為:"+31);
break;
case 4:
case 6:
case 9:
case 11:
System.out.println(year+"年"+month+"月的天數為:"+30);
case 2:
if((year%400)==0 || ((year%4)==0)&&((year%100)!=0)){
System.out.println(year+"年2月的天數為:"+29);
}else{
System.out.println(year+"年2月的天數為:"+28);
}
}
}

Ⅳ java中 如何獲取當月的天數,指定日期的月份天數

代碼實現如下:

package test01;

import java.util.Calendar;
/**
*
* @author 碼靈
* 20170905
*
*/
public class GetDay {

public static void main(String[] args) {
int currentMaxDays = getCurrentMonthDay();
int maxDaysByDate = getDaysByYearMonth(2017, 9);
System.out.println("本月天數:" + currentMaxDays);
System.out.println("2017年9月天數:" + maxDaysByDate);

}

/**
* 獲取當月的 天數
*/
public static int getCurrentMonthDay() {
Calendar a = Calendar.getInstance();
a.set(Calendar.DATE, 1);
a.roll(Calendar.DATE, -1);
int maxDate = a.get(Calendar.DATE);
return maxDate;
}

/**
* 根據年 月 獲取對應的月份 天數
*/
public static int getDaysByYearMonth(int year, int month) {

Calendar a = Calendar.getInstance();
a.set(Calendar.YEAR, year);
a.set(Calendar.MONTH, month - 1);
a.set(Calendar.DATE, 1);
a.roll(Calendar.DATE, -1);
int maxDate = a.get(Calendar.DATE);
return maxDate;
}

}

Ⅵ java 計算某月有多少天

這個題目的邏輯比較簡單,先用數組記錄出一年12個月每個月的天數,其中2月記錄為28天,在判斷當年是否是閏年,如果是閏年,將2月天數記錄為29天,然後輸入,例如數組month,輸出month[m - 1],這就是這個月的天數了。

Ⅶ java根據年月獲取對應的月份工作日天數

importjava.util.Calendar;

publicclassMain{

publicstaticvoidmain(String[]args){

System.out.println(countWorkDay(2018,6));
}

/**
*獲取指定年月有多少個工作日)
*
*@paramyear
*@parammonth
*@return
*/
publicstaticintcountWorkDay(intyear,intmonth){
Calendarc=Calendar.getInstance();
c.set(Calendar.YEAR,year);
//月份是從0開始計算,所以需要減1
c.set(Calendar.MONTH,month-1);

//當月最後一天的日期
intmax=c.getActualMaximum(Calendar.DAY_OF_MONTH);
//開始日期為1號
intstart=1;
//計數
intcount=0;
while(start<=max){
c.set(Calendar.DAY_OF_MONTH,start);
if(isWorkDay(c)){
count++;
}
start++;
}
returncount;
}

//判斷是否工作日(未排除法定節假日,由於涉及到農歷節日,處理很麻煩)
publicstaticbooleanisWorkDay(Calendarc){
//獲取星期,1~7,其中1代表星期日,2代表星期一...7代表星期六
intweek=c.get(Calendar.DAY_OF_WEEK);
//不是周六和周日的都認為是工作日
returnweek!=Calendar.SUNDAY&&week!=Calendar.SATURDAY;
}
}

Ⅷ (JAVA)輸入年月日,計算日期是今年的第幾天

import java.util.Scanner;

/**

* Created by xpf on 2018/6/22 :)

* GitHub:xinpengfei520

* Function:

*/

public class CalculateUtils {

/*平年二月28天*/

private static final int DAYS_28 = 28;

/*閏年二月29天*/

private static final int DAYS_29 = 29;

/*除了31天的月份其他均為30天*/

private static final int DAYS_30 = 30;

/*1、3、5、7、8、10、12月份31天*/

private static final int DAYS_31 = 31;

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.println("Please input year:");

int year = input.nextInt();

System.out.println("Please input month:");

int month = input.nextInt();

System.out.println("Please input day:");

int day = input.nextInt();

int daysInYear = getDaysInYear(year, month, day);

System.out.println("daysInYear:" + daysInYear);

}

/**

* get days in this year

*

* @param year

* @param month

* @param day

* @return

*/

public static int getDaysInYear(int year, int month, int day) {

int totalDays = 0;

switch (month) {

// 12 月份加的是11月份的天數,依次類推

case 12:

totalDays += DAYS_30;

case 11:

totalDays += DAYS_31;

case 10:

totalDays += DAYS_30;

case 9:

totalDays += DAYS_31;

case 8:

totalDays += DAYS_31;

case 7:

totalDays += DAYS_30;

case 6:

totalDays += DAYS_31;

case 5:

totalDays += DAYS_30;

case 4:

totalDays += DAYS_31;

case 3:

// 判斷是否是閏年

if (((year / 4 == 0) && (year / 100 != 0)) || (year / 400 == 0)) {

totalDays += DAYS_29;

} else {

totalDays += DAYS_28;

}

case 2:

totalDays += DAYS_31;

case 1: // 如果是1月份就加上輸入的天數

totalDays += day;

}

return totalDays;

}

}

【解題思路】

1、通過年份區分是閏年還是平年,平年 2 月 28 年,閏年 2 月 29 天。

2、1、3、5、7、8、10、12 月份為 31 天,其餘月份為 30 天。

3、將每個月的天數相加即可,如果輸入的是 12 月,則從 11 月往前累加到1月。

(8)java月份天數擴展閱讀

其他java計算日期的方式

package study01;

import java.util.Scanner;

public class TestDay {

/*

* 輸入2017年的月和日:month=?,day=? 輸出輸入的日期是2017年的第幾天,使用switch完成

*/

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.print("month=");

int month = sc.nextInt();

System.out.print("day=");

int day = sc.nextInt();

int days = 0;

switch (month) {

case 12:

days += 30;

case 11:

days += 31;

case 10:

days += 30;

case 9:

days += 31;

case 8:

days += 31;

case 7:

days += 30;

case 6:

days += 31;

case 5:

days += 30;

case 4:

days += 31;

case 3:

days += 28;

case 2:

days += 31;

case 1:

days += day;

}

if(days>365){

System.out.println("你輸入的已經超過了365天了");

}else{

System.out.println("第" + days + "天");

}

}

}

輸出的結果如下:

month=12

day=31

第365天

Ⅸ java編程 判斷月份,判斷天數

importjava.util.*;
/**
*
*這里沒有對輸入非數字的數進行處理!
*/
publicclassShell{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
inty=0;
intn=0;
//輸入年份,用於判斷閏年!
System.out.println("請輸入年份:");
y=sc.nextInt();
System.out.println("請輸入月份:");
n=sc.nextInt();
switch(n){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
System.out.println(n+"月份有:31天");
break;
//對於2月份需要判斷是否為閏年
case2:
if((y%4==0&&y%100!=0)||(y%400==0)){
System.out.println(n+"月份有:29天");
break;
}else{
System.out.println(n+"月份有:28天");
break;
}
case4:
case6:
case9:
case11:
System.out.println(n+"月份有:30天");
break;
default:
System.out.println("請輸入正確的年份和月份");
break;
}
}
}

Ⅹ 用java編寫:輸入任意年份和月份,輸出對應月份的天數。

用 java編寫:輸入任意年份和月份,輸出對應月份的天數,首先判斷輸入年份是否是閏年,然後使用switch 方法判斷月份,判斷代碼如下:

public class GetDays {

public static int getDays(int year, int month) {
int days = 0;
boolean isLeapYear = false;
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {
System.out.println("這一年是閏年");
isLeapYear = true;
} else {
System.out.println("這一年不是閏年");
isLeapYear = false;
}
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 2:
if (isLeapYear) {
days = 29;
} else {
days = 28;
}
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
System.out.println("error!!!");
break;
}
return days;
}
}

(10)java月份天數擴展閱讀

在java 語言中switch 語法的使用規則為:

1、switch 語句中的變數類型可以是: byte、short、int 或者 char。從 Java SE 7 開始,switch 支持字元串 String 類型了,同時 case 標簽必須為字元串常量或字面量。

2、switch 語句可以擁有多個 case 語句。每個 case 後面跟一個要比較的值和冒號。

3、case 語句中的值的數據類型必須與變數的數據類型相同,而且只能是常量或者字面常量。

3、當變數的值與 case 語句的值相等時,那麼 case 語句之後的語句開始執行,直到 break 語句出現才會跳出 switch 語句。

熱點內容
解除先制的密碼是多少 發布:2025-02-08 08:10:13 瀏覽:859
c語言程序設計豆瓣 發布:2025-02-08 08:08:06 瀏覽:525
學校伺服器如何進入密碼界面 發布:2025-02-08 08:05:45 瀏覽:821
UE4源碼編譯要多久 發布:2025-02-08 07:52:50 瀏覽:231
java架構師做什麼 發布:2025-02-08 07:38:32 瀏覽:774
java解碼器 發布:2025-02-08 07:25:35 瀏覽:297
p4忘記密碼了如何刷機 發布:2025-02-08 07:25:25 瀏覽:307
java分隔 發布:2025-02-08 07:15:02 瀏覽:813
源碼乘法豎式 發布:2025-02-08 07:05:48 瀏覽:137
天天酷跑腳本腳本精靈 發布:2025-02-08 07:05:15 瀏覽:346