GregorianCalendar类

GregorianCalendar类:
GregorianCalendar():构造一个日历对象,用来表示默认地区,默认时区的当前时间
GregorianCalendar(int year, int month, int day)
GregorianCalendar(int year, int month, int day, int hour, int minutes, int seconds)
int get(int field)void set(int field, int value)void set(int year, int month, int day)void set(int year, int month, int day, int hour, int minutes, int seconds)void add(int field, int amount)int getFirstDayOfWeek()void setTime(Date time)Date getTime()
----------------DateFormatSymbols类获取当前地区的星期几或月份的名称String[] getShortWeekdays()Stirng[] getShortMonths()String[] getWeekdays()String[] getMonths()
 
 1 import java.text.DateFormatSymbols;
 2 import java.util.Calendar;
 3 import java.util.GregorianCalendar;
 4
 5
 6 public class CalendarTest {
 7
 8     /**
 9      * @param args
10      */
11
12     /*
13      * GregorianCalendar类
14      */
15     public static void main(String[] args) {
16         // TODO Auto-generated method stub0
17
18         //construct d as current date
19         GregorianCalendar d = new GregorianCalendar();
20
21         int today = d.get(Calendar.DAY_OF_MONTH);
22         int month = d.get(Calendar.MONTH);
23
24         //set d to start date of the month
25         d.set(Calendar.DAY_OF_MONTH, 1);
26
27         int weekday = d.get(Calendar.DAY_OF_WEEK);
28
29         //get first day of week (Sunday in the U.S.)
30         int firstDayOfWeek = d.getFirstDayOfWeek();
31
32         //determine the required indentation for the first line
33         int indent = 0;
34         while(weekday != firstDayOfWeek)
35         {
36             indent++;
37             d.add(Calendar.DAY_OF_MONTH,-1);
38             weekday = d.get(Calendar.DAY_OF_WEEK);
39         }
40
41         //print weekday names;
42         String[] weekdayNames = new DateFormatSymbols().getShortWeekdays();
43         do
44         {
45             System.out.println(weekdayNames[weekday]);
46             d.add(Calendar.DAY_OF_MONTH,1);
47             weekday = d.get(Calendar.DAY_OF_WEEK);
48         }while(weekday != firstDayOfWeek);
49         System.out.println();
50         for(int i =1;i<indent;i++)
51         {
52             System.out.print("  ");
53         }
54         d.set(Calendar.DAY_OF_MONTH, 1);
55         do{
56             //print day
57             int day = d.get(Calendar.DAY_OF_MONTH);
58             System.out.print(day);
59
60             //mark current day with *
61             if(day == today) System.out.println("*");
62             else System.out.println(" ");
63
64             //advance d to the next day
65             d.add(Calendar.DAY_OF_WEEK,1);
66
67             //start a new line at the start of the week
68             if(weekday == firstDayOfWeek) System.out.println();
69         }while (d.get(Calendar.MONTH) == month);
70         //the loop exits when d is day 1 of the next month
71
72         //print final end of line if necessary
73         if(weekday != firstDayOfWeek) System.out.println();
74
75     }
76
77 }
时间: 2024-08-05 16:29:54

GregorianCalendar类的相关文章

日期操作类--GregorianCalendar类

GregorianCalendar--API JavaTM Platform Standard Ed. 6 GregorianCalendar类 Calendar类实现了公历日历,GregorianCalendar是Calendar类的一个具体实现. Calendar 的getInstance()方法返回一个默认用当前的语言环境和时区初始化的GregorianCalendar对象.GregorianCalendar定义了两个字段:AD和BC.这些代表公历定义的两个时代. 下面列出Gregoria

GregorianCalendar类的使用

Calendar与GregorianCalendar是父子关系,Calendar是父类. Calendar日历类 GregorianCalendar类用法 对日期的年月日等进行加减 public class GregorianCalendarTest { public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); GregorianCalendar

利用java日期类生成数据仓库维度表

利用java日期类生成数据仓库维度表 Date类: 最基础的日期时间类,返回一个相对日期的毫秒数.精确到毫秒,但不支持日期的国际化和分时区显示.Date 类从Java 开发包(JDK)1.0 就开始进化,当时它只包含了几个取得或者设置一个日期数据的各个部分的方法, 比如说月, 日, 和年. 这些方法现在遭到了批评并且已经被转移到了Calendar类里去了,这种改进旨在更好的处理日期数据的国际化格式. Calender类: 相对于Date更加强大的时间类,是抽象类,提供了常规的日期修改功能和国际化

第07章 类

JDK即Java开发工具包(Java Development Kit,JDK)泛型(Generic)for-each循环自动装包/拆包(Autoboxing/unboxing)枚举(Enums)可变参数(Varargs)静态导入(Static Imports)模块化(Modularization)多语言支持(Multi-Language Support)开发者生产力(Developer Productivity)性能(Performance)通过查看API文档,知道"Math"类中的所

异常处理与常用类

异常的三个种类: 检查异常:用户错误操作或者是不能被程序员预见的问题,必须由java语言来处理. 运行时异常:运行时异常是一个可以被程序员避免的异常,比如像数组越界.除数为0.引用为null. 错误:错误不是异常,是程序员或用户无法控制的问题,像调用栈溢出. 异常的控制流程: 异常是一个被方法抛出的对象,可以有三种方式来处理: 1.捕获这个异常 2.捕获异常并向下抛出  3.不捕获让它向调用栈弹出. 我们可以使用Throwable类的printStackTrace()方法打印调用栈跟踪信息. T

Java核心技术-4-对象与类

4 对象与类 4.1 面向对象程序设计概述 1 类 封装(数据隐藏):将数据和行为组合在一个包中,并对对象使用者隐藏数据的实现方式. 对象中的数据成为实例域,操纵数据的过程称为方法. 2 对象 对象的三个主要特性:对象的行为behavior,对象的状态state,对象标识identity.3 识别类 4 类之间的关系 依赖uses-a,一个类的方法操纵另一个类的对象 聚合has-a,一个类的对象(其数据域)包含另一个类的对象 继承is-a,类A扩展类B. 4.2 使用预定义类 1 对象与对象变量

日期日历类

1.Date类 Date类位于java.util包中. 构造方法: (1) Date():构造日期对象,代表的是系统当前时间. (2) Date(long date):用long 型参数构造对象.参数date是指距离GMT1970年1月1日00时00分00秒时点的长度,单位为毫秒. 常用方法: (1) boolean after(Date when):判断当前对象代表的时点是否晚于when代表的时点. (2)boolean before(Date when):判断当前对象代表的时点是否早于whe

使用GregorianCalendar模拟实现查看当前月的日历

本次实验在于测试日期类的一些方法的使用,通常我们会使用Calendar调用getInstance()方法创建对象,这里也可以使用Calendar的子类 GregorianCalendar类去创建,在这里,模拟实现了,通过运行该代码段,就能知道今天是几月的几号的星期几了,不多说啦,直接上代码... import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.GregorianCalendar; //i

Java从零开始学三十一(DATE和Calendar类)

一.Date类 Date类是一个相对较为简单的操作类,在使用中直接使用java.util.Date类的构造方法并进行输出就可以得到一个完整的日期 二.Calendar类 Calendar类可以将取得的时间精确到毫秒.但是,这个类本身是一个抽象类,如果要想使用一个抽象类,则必须依靠对象的多态性,通过子类进行父类的实例化操作,Calendar的子类是GregorianCalendar类. package com.pb.demo3; import java.util.Calendar; import