Date Calender的问题

Calendar类

//注意,月份是以0开始的,即一月为0,并且,1不能放在get函数里面

getActualMaximum//获得的是当年的而不是全部日期的

System.out.println( Calendar.SUNDAY );//一周中周日开始,

?*System.out.println((c.get(Calendar.MONTH)+1)+ " "+ Calendar.MONTH+" "+c.MONTH);//Calendar.MONTH==c.MONTH

 c.MONTH的MONTH是静态的、Calendar类里的MONTH,而c.set(Calendar.MONTH, 1);改的是c成员变量的MONTH

可以理解成改的是c对象中的表示MONTH的那个变量,该变量名不一定用month*/


c.set(c.YEAR, 3000);c.set(Calendar.YEAR, 3000);

YEAR是Calendar类中的静态常量,用“类名.”可以调,用“对象.”的形式也可以调,但用“类名.”更合理,因为这是类模板中的,用对象去调容易产生歧义,而且通过对象再去找类模板中的方法区数据,拐弯了





package cn.hncu.Data;



import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;


public class CalendarDemo {

public static void main(String[] args) {
Calendar c=Calendar.getInstance();
Date d=c.getTime();
// SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
// System.out.println(c.get(Calendar.MONTH)+1);//注意,月份是从0月开始,并且,1不能放在get函数里面
// System.out.println(sdf.format(d));
// c.set(c.YEAR, 12);
// System.out.println(c.get(c.YEAR));
//
v1();

}


private static void v1() {
// Calendar c=Calendar.getInstance();
// c.set(Calendar.DAY_OF_MONTH,1);
// int dayOfWeek=c.get(Calendar.DAY_OF_WEEK)-1;
System.out.println( Calendar.SUNDAY );//周日开始
c.set(Calendar.MONTH, 1);
c.set(Calendar.YEAR, 2012);
// Calendar calendar=Calendar.getInstance();
// System.out.println((c.get(Calendar.MONTH)+1)+ " "+ Calendar.MONTH+" "+c.MONTH);//Calendar.MONTH==c.MONTH
// int day=c.getActualMaximum(Calendar.DAY_OF_MONTH);//获得的是当年的而不是全部日期的
// c.set(Calendar.DAY_OF_MONTH, 1);
// System.out.println(day);
Calendar();
}


private static void Calendar() {
Scanner sc=new Scanner(System.in);
System.out.println("请输入日期:yyyy-mm");
String str=sc.next();
String[] s=str.split("-");

Calendar c=Calendar.getInstance();
int year=0;
int month=0;
try {
 year= Integer.parseInt(s[0]);
 month = Integer.parseInt(s[1])-1;
} catch (Exception e) {
System.out.println("输出格式错误!");
}
c.set(year,month,1);
// System.out.println(c.get(Calendar.DAY_OF_WEEK));
int dayOfMonth=c.getActualMaximum(Calendar.DAY_OF_MONTH);
int dayOfWeek=c.get(Calendar.DAY_OF_WEEK)-1;
// System.out.println(dayOfWeek);
int i=1;
int count=0;
for(i=0;i<dayOfWeek;i++){
System.out.printf("     ");
count++;
}
for(i=1;i<=dayOfMonth;i++){
if((count)%7==0){
System.out.println();
}
System.out.printf("%2d   ",i);
count++;
}
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值