① 怎样得到当前月份的天数(java)
public static int getDayOfMonth(){
Calendar aCalendar = Calendar.getInstance(Locale.CHINA);
int day=aCalendar.getActualMaximum(Calendar.DATE);
return day;
}
这是获取的一个月的最大的天数。。。。
② 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 求出当月天数和有几个星期天
public static void main(String[] args) {
//SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
try {
System.out.println("当前月共多少天 : " + DateUtils.getDaysOfTheMonth(new Date()));
System.out.println("当前月星期天天数:"+DateUtils.getSundays(new Date()));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static int getDaysOfTheMonth(Date date){//获取当月天数
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(date); // 要计算你想要的月份,改变这里即可
int days = rightNow.getActualMaximum(Calendar.DAY_OF_MONTH);
return days;
}
// 返回当月星期天数
public static int getSundays(Date dat) {
int sundays = 0;
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
Calendar setDate = Calendar.getInstance();
// 从第一天开始
int day;
for (day = 1; day <= getDaysOfTheMonth(dat); day++) {
setDate.set(Calendar.DATE, day);
String str = sdf.format(setDate.getTime());
//System.out.println("str:"+str);
if (str.equals("星期日")) {
sundays++;
}
}
return sundays;
}
④ JAVA求当月天数的问题
我原来写过的一段日历程序 你看看吧 你的问题全部涵盖了
import java.util.Scanner;
public class kalender {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入年份:");
int year=in.nextInt();
System.out.println("请输入月份:");
int month=in.nextInt();
System.out.println("请输入日期:");
int daily=in.nextInt();
int sum=0;
//年->天
int Oyear=0;
for(int i=1900;i<year;i++){ //将1900年的1月1日为基准 (1900.1.1是礼拜1?)
if(i%4==0&&i%100!=0||i%400==0){
Oyear=Oyear+366;
}else{
Oyear=Oyear+365;
}
}
//月->天
int[] arr={ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if(year%4==0&&year%100!=0||year%400==0){
arr[1]=29;
}
int Omonth=0;
for(int i=0;i<month-1;i++){
Omonth+=arr[i];
}
//+天
sum=Oyear+Omonth+daily;
int weekday=sum%7;
System.out.println("那天是星期"+weekday);
System.out.println("那个月有"+arr[month-1]+"天");
sum=Oyear+Omonth+1;
weekday=sum%7;//这月1号是星期几
System.out.println("Sun\tMon\tTue\tWed\tThu\tFri\tSat"); // \t是一段空格(4-6)
for(int i=0;i<weekday;i++){
System.out.print("\t");
}
for(int i=1;i<=arr[month-1];i++){
System.out.print(i+"\t");
if((weekday+i-1)%7==6){
System.out.println(); //换行
}
}
System.out.println("\n"+"***************************************************");
}
}
⑤ java 根据日期获取某个月有多少天的问题
public static int day(int month,int year){
int a=0;
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
a=31;
break;
case 4:
case 6:
case 9:
case 11:
a=30;
break;
case 2:
if((year%4==0&&year%100!=0)||year%400==0){
a=29;
}else{
a=28;
}
}
return a;
}
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
System.out.print("请输入年份:");
int year=scan.nextInt();
System.out.print("请输入月份:");
int a=day(month,year);
//当月天数
System.out.print(month+"月有"+a+"天"+"\n");
}
⑥ java 获取某年某月有多少天
这个比较简单,java 中有相应的类能实现你的这个要求。具体代码请稍后。
public static void main(String[] args) {
Calendar cal=Calendar.getInstance(); //调用Calendar 中的方法;
cal.set(Calendar.DAY_OF_MONTH, 1); // 把时间调整为当月的第一天;
cal.add(Calendar.MONTH,1); // 月份调至下个月;
cal.add(Calendar.DAY_OF_MONTH, -1); // 时间减去一天(就等于上个月的最后一天)
int month=cal.get(Calendar.MONTH)+1; //调取月份(月份在表示中会少 1,如:1月份得出数字是 0;
int days=cal.get(Calendar.DAY_OF_MONTH);//调取当月的天数。
System.out.println(month+"月份有"+days+"天");//打印最后被结果。
}