Java Calendar
菜鸟小星啦 人气:0创建一个Candendar对象
我们都知道创建一个类的对象最简单的方法是从他的构造方法入手,我们看一下它的构造方法。
protected Calendar() { this(TimeZone.getDefaultRef(), Locale.getDefault(Category.FORMAT)); this.sharedZone = true; } protected Calendar(TimeZone var1, Locale var2) { this.lenient = true; this.sharedZone = false; this.nextStamp = 2; this.serialVersionOnStream = 1; this.fields = new int[17]; this.isSet = new boolean[17]; this.stamp = new int[17]; this.zone = var1; this.setWeekCountData(var2); }
我们从上面的jdk源码Calendar类的构造方法,我们可以得知它的构造方法的访问修饰符是protected,所以他的构造方法只能在包内访问,这里用构造方法新建一个Calendar对象是不可行的。
虽然使用构造方法在这里行不通,但是呢它提供了一个方法,可以新建一个Calendar对象,那就是调用他的静态方法getInstance()
方法。
public static Calendar getInstance() { return createCalendar(TimeZone.getDefault(), Locale.getDefault(Category.FORMAT)); } public static Calendar getInstance(TimeZone var0) { return createCalendar(var0, Locale.getDefault(Category.FORMAT)); }
它有两个静态的getInstance()
方法,他们都是获取当前系统时间,带参数的方法是获取指定时区的时间。
看到这里可能又有小伙伴疑惑了,那我能不能使用指定时间呢?其实可以的,Calendar有一个方法可以使用指定时—setTime()
方法
public final void setTime(Date var1) { this.setTimeInMillis(var1.getTime()); }
上面就是setTime()
的源码。
Calendar的常用方法
get()
这个方法是给定一个字段。返回给定日历字段的值。
字段一部分定义如下图
set()
set()方法是给定日历字段,改变日历对象里面的日期值
加载全部内容