java常用类中Calendar【日历】
Calendar类
Calendar:它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
一、构造方法
protected Calendar() :由于修饰符是protected,所以无法直接创建该对象。需要通过别的途径生成该对象。
二、成员方法
三、日历字段
实战例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 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基础【javaSE】
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库