Calendar的常用属性
属性 | 作用 |
YEAR | 年份 |
MONTH | 月份 |
DATE | 同DAY_OF_MONTH,日期 |
DAY_OF_MONTH | 同DATE,日期 |
DAY_OF_YEAR | 这一天是这一年中的第几天 |
DAY_OF_WEEK_IN_MONTH | 当前月中的第几周 |
DAY_OF_WEEK | 一周中的第几天 / 星期 |
HOUR | 12小时制的时间 |
HOUR_OF_DAY | 24小时制的时间 |
MINUTE | 分钟数 |
SECOND | 秒数 |
MILLISECOND | 毫秒 |
Calendar的常用方法
方法 | 效果 |
public static Calendar getInstance(TimeZone zone,Locale aLocale) | 获得一个日历对象 |
public int get(int field) | 传入field字段获得给定日历字段的值 |
public final void set(int year,int month,int date,int hourOfDay,int minute,int second) | 设置日历对象代表的时间 |
public final void setTime(Date date) | 使用给定的 Date 设置此 Calendar 的时间。 |
public void setTimeInMillis(long millis) | 用给定的 long 值设置此 Calendar 的当前时间值。 |
public final Date getTime() | 返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。 |
public long getTimeInMillis() | 返回此 Calendar 的时间值,以毫秒为单位。 |
public int getActualMaximum(int field) |
传入Calendar.Date,得到这个月可能有多少天 |
接下来,举个例子:
package test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class testCalendar {
public static void main(String[] args) throws ParseException {
Calendar c = Calendar.getInstance();
System.out.println(c.getTime());
// 获得年份
System.out.println("现在是:" + c.get(Calendar.YEAR) + "年");
// 获得月份
System.out.println("现在是:" + (c.get(Calendar.MONTH)+1) + "月");
//获得日期
System.out.println("现在是:" + c.get(Calendar.DATE) + "号");
System.out.println("现在是:" + c.get(Calendar.DAY_OF_MONTH) + "号");
// 获得这是今年的第几天
System.out.println("现在是今年第" + c.get(Calendar.DAY_OF_YEAR) + "天");
// 获得今天周几
System.out.println("现在是星期:" + (c.get(Calendar.DAY_OF_WEEK)-1) );
// 获得今天是这个月的第几周
System.out.println("现在是第:" + c.get(Calendar.DAY_OF_WEEK_IN_MONTH) + "周" );
// 12小时制的时间
System.out.println("现在是:" + c.get(Calendar.HOUR) + "点");
// 24小时制的时间
System.out.println("现在是:" + c.get(Calendar.HOUR_OF_DAY) + "点");
// 分钟数
System.out.println("现在是:" + c.get(Calendar.MINUTE) + "分");
// 秒数
System.out.println("现在是:" + c.get(Calendar.SECOND) + "秒");
// 毫秒
System.out.println("现在是:" + c.get(Calendar.MILLISECOND) + "毫秒");
SimpleDateFormat dc = new SimpleDateFormat();
dc.applyPattern("yyyy-MM-dd");
Date d = dc.parse("2017-5-13");
c.setTime(d);
System.out.println("--------------------2017-5-13信息-----------------------");
// 获得年份
System.out.println("现在是:" + c.get(Calendar.YEAR) + "年");
// 获得月份
System.out.println("现在是:" + (c.get(Calendar.MONTH)+1) + "月");
//获得日期
System.out.println("现在是:" + c.get(Calendar.DATE) + "号");
System.out.println("现在是:" + c.get(Calendar.DAY_OF_MONTH) + "号");
// 获得这是今年的第几天
System.out.println("现在是今年第" + c.get(Calendar.DAY_OF_YEAR) + "天");
// 获得今天周几
System.out.println("现在是星期:" + (c.get(Calendar.DAY_OF_WEEK)-1) );
// 获得今天是这个月的第几周
System.out.println("现在是第:" + c.get(Calendar.DAY_OF_WEEK_IN_MONTH) + "周" );
}
}
运行结果如下:
Thu Apr 11 17:53:52 CST 2019
现在是:2019年
现在是:4月
现在是:11号
现在是:11号
现在是今年第101天
现在是星期:4
现在是第:2周
现在是:5点
现在是:17点
现在是:53分
现在是:52秒
现在是:818毫秒
--------------------2017-5-13信息-----------------------
现在是:2017年
现在是:5月
现在是:13号
现在是:13号
现在是今年第133天
现在是星期:6
现在是第:2周