Calendar类
Calendar:它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
一、构造方法
protected Calendar() :由于修饰符是protected,所以无法直接创建该对象。需要通过别的途径生成该对象。
二、成员方法
三、日历字段
实战例子:
package com.Lucky.OftenClass; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Scanner; /* 程序:可视化日历 1. 将日期字符串转换成日期Date,并赋值给Calendar 2.使用DateFormat将字符串转换成日期,然后赋值到日历calendar.setTime(date); 3.需要知道输入的日期是星期几,前面要留空格 4.cal.get(Calendar.DAY_OF_WEEK) 5.如果是星期六就要输出日期之后换行 6.cal.get(Calendar.DAY_OF_WEEK)==7 7.需要本月一共有多少天 8.cal.getActualMaximum(Calendar.DATE); 9.如果是当天就添加 * */ public class VisualCalendar { public static void main(String[] args) { System.out.println("请输入日期: 格式为:2000-09-20"); //添加扫描器 Scanner scanner=new Scanner(System.in); //获取日期数据 String nowDate=scanner.nextLine(); //创建DateFormat对象 DateFormat format=new SimpleDateFormat("yyyy-MM-dd"); try { //将日期字符串 转换成 日期格式数据 Date date=format.parse(nowDate); //创建Calendar日历对象 Calendar calendar=new GregorianCalendar(); //将数据设置到日历中 calendar.setTime(date); //获取日历中的日 int day=calendar.get(Calendar.DATE); //将日改为1号 calendar.set(Calendar.DATE,1); //获取这个月的最大天数:getActualMaximum int MaxDate=calendar.getActualMaximum(Calendar.DATE); //打印日历头部 System.out.println("日\t一\t二\t三\t四\t五\t六"); //循环获取星期几【打印空格】 for (int i = 1; i < calendar.get(Calendar.DAY_OF_WEEK); i++) { System.out.print("\t"); } //循环打印数字 for (int i = 1; i <= MaxDate; i++) { //判断是否是当天 [如果是就打印一个*] if(i==day){ System.out.print("*"); } System.out.print(i+"\t"); //获取日历上的所在星期的第几天 int weekDay=calendar.get(Calendar.DAY_OF_WEEK); //判断是否是星期六[SATURDAY],如果是就打印换行 if(weekDay==Calendar.SATURDAY){ System.out.println("\n"); } //追加日期天数 calendar.add(Calendar.DATE,1); } } catch (ParseException e) { e.printStackTrace(); } } }
标签:java,日历,日期,import,Calendar,calendar,类中 From: https://www.cnblogs.com/Lucky-only/p/16922411.html