
/**
* 测试Calendar类日历抽象类 和 GregorianCalendar类公历子类
*/
public class TestDate2 {
public static void main(String[
args) {
Calendar calendar = new GregorianCalendar(20001112305);
//2000年 12月!!注意0代表1月 11代表12月 1号 23点 0分 5秒 输入数字比实际月份小1个月 取值范围从0-11
System.out.println(calendar.getTime()+\"的结果为Fri Dec 01 23:00:05 CST 2000\");
//Dec对应11
Date d1 = calendar.getTime();
//.getTime()返回Date类对象
calendar.setTime(new Date());
//将Date对象的值赋给calendar
GregorianCalendar gc2 = new GregorianCalendar(201005102030);
System.out.println(gc2.getTime()+\"的结果为周二Tue Jan 05 10:20:30 CST 2010\");
int year = gc2.get(Calendar.YEAR);
//.get(int field)返回 field所代表的属性的值 返回值为int field年月日等属性对应不同的int值 通过Calendar.常量直接调用 结果2010
int month = gc2.get(Calendar.MONTH);
//结果 0 0+1一月 .get()返回int
int week = gc2.get(Calendar.WEEK_OF_MONTH);
//月中第几周 结果2
int day = gc2.get(Calendar.DAY_OF_MONTH);
//月中几号 结果5号
int dayOfWeek = gc2.get(Calendar.DAY_OF_WEEK);
System.out.println(dayOfWeek+\"的结果为3 周二对应3\");
//day of week 的2对应周一 1对应周日 7对应周六 输出周几比实际周几大一天 取值范围1-7
gc2.set(Calendar.YEAR2022);
//.set(int field int value) 给哪个field赋值value 和get(field)一样可以通过内置的常量调用
gc2.set(Calendar.MONTHCalendar.OCTOBER);
//每个月也有对应的常量
gc2.set(Calendar.DAY_OF_MONTH20);
gc2.set(Calendar.HOUR_OF_DAY20);
gc2.set(Calendar.MINUTE20);
gc2.set(Calendar.SECOND30);
SimpleDateFormat df = new SimpleDateFormat(\"yyyy年MM月dd日 E hh:mm:ss\");
//通过SimpleDateFormat构造器规定日期显示格式
System.out.println(df.format(gc2.getTime())+\"的结果为2022年10月20日 星期四 08:20:30\");
//df.format(Date date) gc2.getTime()返回Date
class MyCalendar{
public static void printCalendar(Calendar c){
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
//用中文表述需要+1
int day = c.get(Calendar.DAY_OF_MONTH);
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK)-1;
//用中文表述需要-1 原本是1对应周日 7对应周六 没有0 -1后变成1-6对应周一到周六 0对应周日
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
System.out.printf(\"%d年%d月%d日\"yearmonthday);
//%d占位符代表数字 字符串中每一个占位符对应后边的一个参数 %s代表字符串
switch(dayOfWeek){
case 0:
System.out.print(\"周日\");
//将int的周几打印汉字
break;
case 1:
System.out.print(\"周一\");
break;
case 2:
System.out.print(\"周二\");
break;
case 3:
System.out.print(\"周三\");
break;
case 4:
System.out.print(\"周四\");
break;
case 5:
System.out.print(\"周五\");
break;
case 6:
System.out.print(\"周六\");
break;
System.out.printf(\"%d:%d:%d\"hourminutesecond);
public static void main(String[
args) {
GregorianCalendar gc = new GregorianCalendar();
//无参生成当下时刻
printCalendar(gc);
//结果2022年7月12日周二13:9:0
【域名|java Calendar类】
- 程序员|程序员的口味变了!C++首次逆袭JAVA:跻身最受欢迎编程语言TOP3
- Java|华为笔记本双12大促开启 智慧体验让办公学习更高效
- Java|京东第一刀落下:多个副总裁卸任 刘强东嫡系人手接管
- Java|荣耀Magic5Pro很大胆,16GB+5000mAh+100W,香喷喷
- Java|MIUI14把精简当作核心卖点,国产系统急需做减法
- Java|“高薪专业户”的IT互联网行业是否已达到天花板?Java行业薪酬
- javascript|全民淘宝节|千万个淘宝卖家,有千万种答案
- 【微服务】146:商品品牌业务后台Java代码编写
- 【微服务】162:利用Java实现索引库相关的分页、排序和聚合
- Java|闹剧结束了?台积电正式宣布,美媒:张忠谋把关键技术留在了本土
