html日历菜鸟,JAVA菜鸟入门篇 - Calendar日历类和GregorianCalendar公历类 (二十八)...

Calendar日历类和GregorianCalendar公历类

人们对于时间的认识是:某年某月某日,这样的日期概念。计算机中时间是用long类型表示的。两者之间通过Calendar搭起桥梁。

Calendar类和GregorianCalendar类的关系:

java.lang.Object

0818b9ca8b590ca3270a3433284dd417.pngjava.util.Calendar

GergorianCalendar类是Calendar(Calendar是一个抽象类)的一个实现类,提供了世界上大多数国家/地区使用的标准日历系统。

注意:

- 月份:一月是0,二月是1,以此类推,12月是11

- 星期:周日是1,周一是2,......周六是7

接下来讲解Calendar类和GregorianCalendar类的常用方法

一、Calendar类

1.静态方法getInstance()

Calendar类的静态方法getInstance()可以初始化一个日历对象:Calendar now = Calendar.getInstance();

2.set()方法:使用下面三个方法把日历定到任何一个时间:

set(int year ,int month,int date)

set(int year ,int month,int date,int hour,int minute)

set(int year ,int month,int date,int hour,int minute,int second)

3.获取年份、月份、小时等信息可以使用方法:

get(Calendar.Month);这样的方法 0表示一月,1表示二月

get(Calendar.DAY_OF_MONTH)获得这个月的第几天

get(Calendar.DAY_OF_WEEK)获得这个星期的第几天

get(Calendar.DAY_OF_YEAR)获得这个年的第几天

getTimeMillis()获得当前时间的毫秒表示

4.日期计算相应方法:add()、after()和before()

abstract void add(int field, int amount)

根据日历的规则,为给定的日历字段添加或减去指定的时间量。

boolean after(Object when)

判断此 Calendar 表示的时间是否在指定 Object 表示的时间之后,返回判断结果。

boolean before(Object when)

判断此 Calendar 表示的时间是否在指定 Object 表示的时间之前,返回判断结果。

二、GregorianCalendar类

GregorianCalendar是 Calendar的一个具体子类,提供了世界上大多数国家使用的标准日历系统。

它的主要方法有:

GregorianCalendar.get(GregorianCalendar.YEAR);          //得到年

GregorianCalendar.get(GregorianCalendar.MONTH);         //得到月

GregorianCalendar.get(GregorianCalendar.DATE);          //得到天

GregorianCalendar.get(GregorianCalendar.Day_OF_WEEK);   //一星期的第几天

GregorianCalendar.get(GregorianCalendar.Day_OF_MONTH);  //一月的第几天

注意:

GregorianCalendar是在java.util包里.

在GregorianCalendar里面,星期天是一周开始的第一天;而0代表现实生活中的一月,11代表十二月。

例子:(用户输入年月日,计算那天是星期几)

public class TestWeekday {

public static void main(String[] args){

Scanner scannerInput = new Scanner(System.in);

System.out.println("请以此按照年、月、日次序输入:");

int year = scannerInput.nextInt();

int month = scannerInput.nextInt();

int day = scannerInput.nextInt();

GregorianCalendar gre = new GregorianCalendar();

gre.set(year, month, day);

int num = gre.get(gre.DAY_OF_WEEK)-1;

String weekDay = null;

switch(num){

case 0 :

weekDay = "星期天";break;

case 1 :

weekDay = "星期一";break;

case 2 :

weekDay = "星期二";break;

case 3 :

weekDay = "星期三";break;

case 4 :

weekDay = "星期四";break;

case 5 :

weekDay = "星期五";break;

case 6 :

weekDay = "星期六";break;

}

System.out.println("您所输入的"+year+"年"+month+"月"+day+"日"+"是:"+weekDay);

}

}

测试:

请以此按照年、月、日次序输入:

2015

2

1

您所输入的2015年2月1日是:星期天

本文参考:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值