import javautilCalendar;
public class Du {
public static void main(String[] args) {
String date = "2011-01-12";
int[] daysInMonth = getMonthDays(date);
for(int value: daysInMonth){
Systemoutprint(value + " ");
}
}
private static int[] getMonthDays(String date) {
Calendar calendar = CalendargetInstance();
calendarset(CalendarYEAR, IntegerparseInt(datesubstring(0, 4)));
calendarset(CalendarMONTH, IntegerparseInt(datesubstring(5, 7)) -1);
int maxDay = calendargetActualMaximum(CalendarDAY_OF_MONTH);
int[] days = new int[maxDay];
for(int i = 1; i <= maxDay; i++){
days[i-1] = i;
}
return days;
}
}
-----------------
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
这个题目的逻辑比较简单,先用数组记录出一年12个月每个月的天数,其中2月记录为28天,在判断当年是否是闰年,如果是闰年,将2月天数记录为29天,然后输入,例如数组month,输出month[m - 1],这就是这个月的天数了。
import javautilDate;
import javautilCalendar;
import javatextSimpleDateFormat;class Demo{
//返回当前年份
int getYear(){
Date date=new Date();
String year=new SimpleDateFormat("yyyy")format(date);
return IntegerparseInt(year);
}
//返回当前月份
int getMonth(){
Date date=new Date();
String month=new SimpleDateFormat("MM")format(date);
return IntegerparseInt(month);
}
//判断闰年
boolean isLeap(int year){
if(((year%100==0)&&year%400==0)||((year%100!=0)&&year%4==0))
return true;
else
return false;
}
//返回当月天数
int getDays(int year,int month){
int days;
int FebDay=28;
if(isLeap(year))
FebDay=29;
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=31;break;
case 4:
case 6:
case 9:
case 11:
days=30;break;
case 2:
days=FebDay;break;
default:
days=0;break;
}
return days;
}
//返回当月星期天数
int getSundays(int year,int month){
int sundays=0;
SimpleDateFormat sdf=new SimpleDateFormat("EEEE");
Calendar setDate= CalendargetInstance();
//从第一天开始
int day;
for(day=1;day<=getDays(year,month);day++){
setDateset(CalendarDATE,day);
String str=sdfformat(setDategetTime());
if(strequals("星期日")){
sundays++;
}
}
return sundays;
}
public static void main(String[] args){
Demo demo=new Demo();
Systemoutprintln ("本月有"+demogetDays(demogetYear(),demogetMonth())+"天");
Systemoutprintln ("本月有"+demogetSundays(demogetYear(),demogetMonth())+"个星期天");
}
}次程序已经验证正确如果看程序的话我自认为我的代码比楼上的好,而且楼桑有用到java API已经过时的方法但是当写玩代码后去看了电脑下的时间,发现我好SB,一个月不就四个星期天或者五个星期谈吗?害我费了这么多时间,哎~~
以下是Java代码,用于计算中国时间2023年3月8日离当月月底还有多少天:
```java
import javatimeLocalDate;
import javatimeZoneId;
import javatimetemporalChronoUnit;
public class DaysToMonthEnd {
public static void main(String[] args) {
LocalDate today = LocalDatenow(ZoneIdof("Asia/Shanghai"));
LocalDate endOfMonth = todaywithDayOfMonth(todaylengthOfMonth());
long daysToMonthEnd = ChronoUnitDAYSbetween(today, endOfMonth);
Systemoutprintln("Days to Month End: " + daysToMonthEnd);
}
}
```
首先,使用 `LocalDatenow(ZoneIdof("Asia/Shanghai"))` 获取当前日期。这里以亚洲/上海时区为例。然后,使用 `withDayOfMonth` 方法获取当月的最后一天。接下来,利用 `ChronoUnitDAYSbetween` 方法计算当前时间和当月月底之间的天数差异。最后,将结果打印到控制台。
在本例中,输出结果为:23。即距离2023年3月31日(当月月底)还有23天。
以上就是关于JAVA如何得到给定日期所在月份天数的集合全部的内容,包括:JAVA如何得到给定日期所在月份天数的集合、java 计算某月有多少天、java 求出当月天数和有几个星期天等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)