笔记19 日历类

来源:互联网 发布:淘宝虚拟物品自动发货 编辑:程序博客网 时间:2024/06/06 02:52
package test0911;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;/* * 1、日历与日期的区别? * 日历是时间的长河,从日历中可以找到过去、现在、找到未来。 *  * 日期是一个瞬间,是一个时刻。 *  * 2、日历类: Calendar 抽象的父类, GregorianCalendar子类。  * 1) 这两个类均来自java.util.*; *  * 2) 它们用来管理日历. *  * 3、掌握GregorianCalendar子类提供的两个常用构造器: * GregorianCalendar();  它所构造的对象,其日历会定位到与系统时钟一致的日期时间上。 *  * GregorianCalendar(year, month, day); 它所构造的对象,其日历会定位到指定的年月日上。 *  * 4、日历类提供的常用方法: * get() 用来获取日历中指定字段的值。 * set() 用来将日历定位到指定的日期时间上。 *  * add() 时间的增量,将日历中指定的字段增加一个数量。 *  * Date getTime()  将日历中当前的日期时间收集起来封装成一个Date类的对象。 *  *  * 注意: 在日历中,用0 --- 11 分别表示1 ---- 12月份。 * 注意: 在日历中,用1 ---- 7 分别表示星期日、星期一、星期二、...、星期六 */public class CalendarTest {public static void main(String[] args) {Calendar  dt = new GregorianCalendar();int year = dt.get( Calendar.YEAR );int month = dt.get( Calendar.MONTH ) + 1;int today = dt.get( Calendar.DAY_OF_MONTH );int weekday = dt.get( Calendar.DAY_OF_WEEK ) - 1;System.out.println( year + "年" + month + "月" + today + "日" + ",它是: 星期" + weekday );//以上日期再35天是什么日子dt.add(Calendar.DAY_OF_MONTH, 35);System.out.println("\n以上日子再过35天对应的日期如下:");year = dt.get( Calendar.YEAR );month = dt.get( Calendar.MONTH ) + 1;today = dt.get( Calendar.DAY_OF_MONTH );System.out.println( year + "年" + month + "月" + today + "日");//将日历直接定位到指定的年月日上dt.set( Calendar.YEAR, 2008 );dt.set( Calendar.MONTH, Calendar.AUGUST );dt.set( Calendar.DAY_OF_MONTH,  8 );System.out.println("\n将日历直接定位到2008-8-8上,结果如下:");year = dt.get( Calendar.YEAR );month = dt.get( Calendar.MONTH ) + 1;today = dt.get( Calendar.DAY_OF_MONTH );System.out.println( year + "年" + month + "月" + today + "日");Date d1 = new GregorianCalendar(1995, 6, 12).getTime();System.out.println( d1 );double x = 13.785291;x = 13.000034123;x = -13.000034123;double y = Math.ceil( x ); //向上取整数(取不小于原数的最小整数)System.out.println("\nx = " + x + ",处理后 y = " + y );//课堂范例  打印当月日历;System.out.printf("\n\n今天的日期是:  %tF  %<tA,如下为今日所在月份的日历:\n\n" , new Date());System.out.println(" 日\t 一\t 二\t 三\t 四\t 五\t 六");Calendar  dt1 = new GregorianCalendar();int month1 = dt1.get( Calendar.MONTH );int today1 = dt1.get( Calendar.DAY_OF_MONTH );//将当前日历的日子定位到1号上dt1.set( Calendar.DAY_OF_MONTH , 1 );//获取1号对应的星期几int weekday1 = dt1.get( Calendar.DAY_OF_WEEK );//打印星期日至weekday之间的空格for( int w = Calendar.SUNDAY;  w < weekday1; w++ ){System.out.print("        ");}//获取当月的所有日子while ( dt1.get(Calendar.MONTH) == month1 ){int day = dt1.get( Calendar.DAY_OF_MONTH ); //获取日子if( day == today ){System.out.printf("%2d▲\t" ,  day ); //打印}else{System.out.printf("%2d\t" ,  day ); //打印}weekday1 = dt1.get( Calendar.DAY_OF_WEEK ); //获取日子对应的星期几if( weekday1 == Calendar.SATURDAY ){System.out.println();//换行}dt1.add( Calendar.DAY_OF_MONTH , 1 ); //进入明天}}}

0 0
原创粉丝点击