淘外网站怎么做/爱站网ip反查域名
Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示和计算。
GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。
5种Calendar构造函数
GregorianCalendar()无参构造函数
//初始化Calendar对象
//Calendar无参构造函数Calendar calendar1 = new GregorianCalendar();
//Calendar是抽象类,要用实现类GregorianCalendar newprintCalendar(calendar1); //自定义的函数
GregorianCalendar(int year, int month, int dayOfMonth)
Calendar calendar2 = new GregorianCalendar(2035, 10, 9); printCalendar(calendar2);
GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute);
Calendar calendar3 = new GregorianCalendar(2035, 10, 9, 22, 10);printCalendar(calendar3);
GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second);
Calendar calendar4 = new GregorianCalendar(2035, 10, 9, 22, 10, 50);printCalendar(calendar4);
GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second, int millis);
//构造函数不可视
在Ecilpse2018中不可见
获得日期相关元素get
int year = calendar3.get(Calendar.YEAR);int month = calendar3.get(Calendar.MONTH); //january-december月从0-11int weekday = calendar3.get(Calendar.DAY_OF_WEEK); //1-7 星期日1,星期一2,...int day1 = calendar3.get(Calendar.DATE);int day2 = calendar3.get(Calendar.DAY_OF_MONTH);
设置日期的元素set
Calendar c1 = new GregorianCalendar(); //无参构造函数初始化的对象保存系统当前时间printCalendar(c1);c1.set(Calendar.YEAR, 5050);printCalendar(c1);
日期计算
Calendar c2 = new GregorianCalendar();c2.add(Calendar.YEAR, -100);System.out.println(c2);
日期对象和时间对象的转化
Date d = c2.getTime(); //日期对象转化为时间对象Calendar c3 = new GregorianCalendar();c3.setTime(d); //将时间对象转化为日期对象
自定义一个打印日期的函数
打印效果: xxxx年xx月xx日 xx:xx:xx 周x
public static void printCalendar(Calendar c) {//打印: xxxx年xx月xx日 xx:xx:xx 周xint year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH)+1; //[0, 11]int dayOfMonths = c.get(Calendar.DAY_OF_MONTH);int dayweek = c.get(Calendar.DAY_OF_WEEK)-1; //[1, 7][日, 六]String dayweekStr = dayweek==0 ? "日":dayweek+"";int hour = c.get(Calendar.HOUR);int minute = c.get(Calendar.MINUTE);int second = c.get(Calendar.SECOND);System.out.println(year+"年"+month+"月"+dayOfMonths+"日"+hour+"时"+minute+"分"+second+"秒"+" 周"+dayweekStr);}
测试源码如下:
package yzy.commonclasses;/** 测试日期类Calendarde使用* GregorianCalendar->Calendar*/import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;public class testCanlender {public static void main(String[] args) {//初始化Calendar对象//Calendar无参构造函数Calendar calendar1 = new GregorianCalendar(); //Calendar是抽象类,要用实现类GregorianCalendar newprintCalendar(calendar1);//GregorianCalendar(int year, int month, int dayOfMonth);Calendar calendar2 = new GregorianCalendar(2035, 10, 9); printCalendar(calendar2);//GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute);Calendar calendar3 = new GregorianCalendar(2035, 10, 9, 22, 10);printCalendar(calendar3);//GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second);Calendar calendar4 = new GregorianCalendar(2035, 10, 9, 22, 10, 50);printCalendar(calendar4);//GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second, int millis);//构造函数不可视//获得日期相关元素int year = calendar3.get(Calendar.YEAR);int month = calendar3.get(Calendar.MONTH); //january-december月从0-11int weekday = calendar3.get(Calendar.DAY_OF_WEEK); //1-7 星期日1,星期一2,...int day1 = calendar3.get(Calendar.DATE);int day2 = calendar3.get(Calendar.DAY_OF_MONTH);System.out.println(year);System.out.println(month);System.out.println(weekday);System.out.println(day1);System.out.println(day2);//设置日期的元素Calendar c1 = new GregorianCalendar(); //无参构造函数初始化的对象保存系统当前时间printCalendar(c1);c1.set(Calendar.YEAR, 5050);printCalendar(c1);//日期计算Calendar c2 = new GregorianCalendar();c2.add(Calendar.YEAR, -100);System.out.println(c2);//日期对象和时间对象的转化Date d = c2.getTime(); //日期对象转化为时间对象Calendar c3 = new GregorianCalendar();c3.setTime(d); //将时间对象转化为日期对象printCalendar(c2); //1920年2月7日2时24分58秒周6printCalendar(c3); //1920年2月7日2时24分58秒周6printCalendar(c1); //5050年2月7日2时25分40秒周4}public static void printCalendar(Calendar c) {//打印: xxxx年xx月xx日 xx:xx:xx 周xint year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH)+1; //[0, 11]int dayOfMonths = c.get(Calendar.DAY_OF_MONTH);int dayweek = c.get(Calendar.DAY_OF_WEEK)-1; //[1, 7][日, 六]String dayweekStr = dayweek==0 ? "日":dayweek+"";int hour = c.get(Calendar.HOUR);int minute = c.get(Calendar.MINUTE);int second = c.get(Calendar.SECOND);System.out.println(year+"年"+month+"月"+dayOfMonths+"日"+hour+"时"+minute+"分"+second+"秒"+" 周"+dayweekStr);}
}