获取日历信息及时间的类。
calendar的常用方法:
获取时间:
import java.util.Calendar;
public class Demo01 {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
System.out.println("年:"+cal.get(Calendar.YEAR));//获取年
System.out.println("月:"+(cal.get(Calendar.MONTH)+1));
//获取月,获取月份时实际输出要+1,因为月份的下标是从0开始的。
System.out.println("日:"+cal.get(Calendar.DAY_OF_MONTH));//获取日
System.out.println("时:"+cal.get(Calendar.HOUR_OF_DAY));//获取时
System.out.println("分:"+cal.get(Calendar.MINUTE));//获取分
System.out.println("秒:"+cal.get(Calendar.SECOND));//获取秒
}
}
设置时间格式:
利用SimpleDateFormat类格式化时间
例:
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo01 {
public static void main(String[] args) {
//通过带参构造器手动输入时间
Date d = new Date(11111111111300L);
//利用SimpleDateFormat设置格式
SimpleDateFormat sd = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
//将格式化后的时间转为Sring
String str = sd.format(d);
//输出结果
System.out.println(str);
}
}
//运行结果为:2322/02/06 03:45:11
add和roll:
roll方法只是对相应时间属性的域内做变化。
例:对月份使用roll方法,它只会在1-12的范围内变化,不会影响到年。
格式:roll(int field, int amount),amount的值加到field上去,不会更改更大的日历属性。
add方法则会产生其他相关时间属性的联动变化。
例:对月份使用add方法,12月份加1之后,年份会增加1。
格式:add(int field, int amount),amount的值加到field上去,跟据日历的规则,会导致更大日历属性的改变。
案例:
import java.util.Calendar;
public class Demo{
public static void main(String[] args) {
//创建一个对象
Calendar c = Calendar.getInstance();
//输出当前的月份和年,因为电脑显示的月份数比实际数少1,所有要加1.
System.out.println(c.get(Calendar.MONTH)+1);
System.out.println(c.get(Calendar.YEAR));
//使用add方法后,月份加12,结果为年份增加1年。
c.add(Calendar.MONTH, 12);
System.out.println(c.get(Calendar.MONTH)+1);
System.out.println(c.get(Calendar.YEAR));
//使用roll方法后,月份加12,年份不会发生改变,只是月份加1。
c.roll(Calendar.MONTH, 13);
System.out.println(c.get(Calendar.MONTH)+1);
System.out.println(c.get(Calendar.YEAR));
//使用add方法后,月份加12,结果为年份再次增加1年。
c.add(Calendar.MONTH, 12);
System.out.println(c.get(Calendar.MONTH)+1);
System.out.println(c.get(Calendar.YEAR));
}
}
网友评论