1. 测试Data的常用用法
Date d = new Date ( 2000 ) ;
System. out. println ( d) ;
System. out. println ( d. getTime ( ) ) ;
Date d2 = new Date ( ) ;
System. out. println ( d2. getTime ( ) ) ;
System. out. println ( d2. after ( d) ) ;
Date d3 = new Date ( 2020 - 1900 , 3 , 10 ) ;
System. out. println ( d3) ;
2.测试时间对象和字符串之间的互相转换
DateFormat df = new SimpleDateFormat ( "yyyy-MM-dd hh:mm:ss" ) ;
String str = df. format ( new Date ( 4000000 ) ) ;
System. out. println ( str) ;
DateFormat df2 = new SimpleDateFormat ( "yyyy年MM月dd日 hh时mm分ss秒" ) ;
Date date = df2. parse ( "1983年5月10日 10时45分59秒" ) ;
System. out. println ( date) ;
DateFormat df3 = new SimpleDateFormat ( "D" ) ;
String str3 = df3. format ( new Date ( ) ) ;
System. out. println ( str3) ;
3. 测试日期类的使用
public static void main ( String[ ] args) {
Calendar calendar = new GregorianCalendar ( 2999 , 10 , 9 , 22 , 10 , 50 ) ;
int year = calendar. get ( Calendar. YEAR) ;
int month = calendar. get ( Calendar. MONTH) ;
int day = calendar. get ( Calendar. DATE) ;
int weekday = calendar. get ( Calendar. DAY_OF_WEEK) ;
System. out. println ( year) ;
System. out. println ( month) ;
System. out. println ( weekday) ;
System. out. println ( day) ;
Calendar c2 = new GregorianCalendar ( ) ;
c2. set ( Calendar. YEAR, 8012 ) ;
System. out. println ( c2) ;
Calendar c3 = new GregorianCalendar ( ) ;
c3. add ( Calendar. YEAR, - 100 ) ;
System. out. println ( c3) ;
Date d4 = c3. getTime ( ) ;
Calendar c4 = new GregorianCalendar ( ) ;
c4. setTime ( new Date ( ) ) ;
printCalendar ( c4) ;
}
static void printCalendar ( Calendar c) {
int year = c. get ( Calendar. YEAR) ;
int month = c. get ( Calendar. MONTH) + 1 ;
int date = c. get ( Calendar. DAY_OF_MONTH) ;
int dayweek = c. get ( Calendar. DAY_OF_WEEK) - 1 ;
String dayweek2 = dayweek== 0 ? "日" : dayweek+ "" ;
int hour = c. get ( Calendar. HOUR) ;
int minute = c. get ( Calendar. MINUTE) ;
int second = c. get ( Calendar. SECOND) ;
System. out. println ( year+ "年" + month+ "月" + date+ "日 " + hour+ "时" + minute+ "分" + second+ "秒"
+ " 周" + dayweek2) ;
}
4. 定义一个可视化日历
public class TestCalendar3 {
public static void main ( String[ ] args) throws ParseException {
System. out. println ( "请输入日期(格式:2020-9-10):" ) ;
Scanner scanner = new Scanner ( System. in) ;
String str = scanner. nextLine ( ) ;
DateFormat df = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
Date date = df. parse ( str) ;
Calendar c = new GregorianCalendar ( ) ;
c. setTime ( date) ;
int day = c. get ( Calendar. DAY_OF_MONTH) ;
int days = c. getActualMaximum ( Calendar. DATE) ;
System. out. println ( "日\t一\t二\t三\t四\t五\t六" ) ;
c. set ( Calendar. DAY_OF_MONTH, 1 ) ;
for ( int i= 0 ; i< c. get ( Calendar. DAY_OF_WEEK) - 1 ; i++ ) {
System. out. print ( "\t" ) ;
}
for ( int i= 1 ; i<= days; i++ ) {
if ( day == c. get ( Calendar. DAY_OF_MONTH) ) {
System. out. print ( c. get ( Calendar. DAY_OF_MONTH) + "*\t" ) ;
} else {
System. out. print ( c. get ( Calendar. DAY_OF_MONTH) + "\t" ) ;
}
if ( c. get ( Calendar. DAY_OF_WEEK) == Calendar. SATURDAY) {
System. out. println ( ) ;
}
c. add ( Calendar. DAY_OF_MONTH, 1 ) ;
}
}
}