通过下面三个类Calendar,DataFormat,SimpleDateFormat 完成日历效果,如下图:

思路:

(1)在日历类中定义第一天、一个月中最大的天数和当前键盘录入的这一天,用键盘录入输入的日期。

(2)用String、SimpleDataFormat、DataFormat和Calendar等将日期装换为日历格式。

(3)获取maxDay、currentDay、firstDay,最后再在for循环中去输出具体的一天所对应日历中的周几。

代码如下:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;public class DataUtils {public static void main(String[] args) throws ParseException {int firstDay;int maxDay;int currentDay;Scanner sc = new Scanner(System.in);System.out.println("请输入日期:例如:yyyy-MM-dd");String s = sc.nextLine();SimpleDateFormat s1 = new SimpleDateFormat("yyyy-MM-dd");Date d = s1.parse(s);//        将字符串转换为日期格式Calendar c = new GregorianCalendar();c.setTime(d);//        将日期格式转换为日历maxDay =c.getActualMaximum(Calendar.DATE);//获取一个月中有多少天currentDay = c.get(Calendar.DATE); //键盘录入的那一天c.set(Calendar.DATE,1);// 这个月的第一天firstDay = c.get(Calendar.DAY_OF_WEEK);//获取第一天是星期几System.out.println("------------------------------------");System.out.println("周日\t周一\t周二\t周三\t周四\t周五\t周六\n");for (int i = 1;i < firstDay;i++) {System.out.print("\t");}for (int j = 1;j <=maxDay;j++) {if (j == currentDay) {System.out.print(j+"*");//*表示键盘录入的那天}else {System.out.print(j+"\t");}if ((j-(8-firstDay))%7 ==0) {//以七天为一个循环,在跳转到下一行进行输出System.out.print("\n");}}System.out.println("");System.out.println("------------------------------------");}
}

运行结果:

Java——实现简单日历功能相关推荐

  1. java 抽奖 界面显示,Java实现简单抽奖功能界面

    本文实例为大家分享了Java实现简单抽奖功能的具体代码,供大家参考,具体内容如下 要求:定义文本框添加姓名,将姓名存储并且在界面中可见,点击抽奖按钮进行抽奖并输出最后的中奖得主. 关于抽奖当然需要用到 ...

  2. PHP 简单日历功能的实现

    1.这是一个简单的 php 例子 2.这个例子的功能是,实现一个简单的日历显示功能. 3.该函数的作用是:输入指定的 年.月.日时,输出当前月的日历,并在输入的指定 日期 中,突出显示. 具体的代码实 ...

  3. java gif 水印_simpleImageTool又一纯java的简单而功能强的专门图片水印、缩放库,给gif加水印也很简单...

    simpleImageTool又一个简单.好用的图片格式转换.缩放水印叠加等功能的纯Java图片工具库. simpleImageTool的由来,近期需要用到图片处理,通过网上的图片流直接进行缩放水印叠 ...

  4. Java Web简单搜索功能实现

    小demo,没有使用框架. webapp项目,用到了servlet + jsp,使用jdbc从MySQL中查询数据 构建工具maven 先上截图 pom.xml 注意版本问题! <propert ...

  5. java 模拟简单打印机功能_java之玩转打印机

    说在前面 很喜欢并发,所以一直在学并发.这就是因为爱,所以爱了吧!对了,上次说到去南天的事情,我过了,还算对得起自己吧,毕竟连hr都当面夸我优秀,哈哈! demo一之采用Lock锁仿一个打印机随机打印 ...

  6. java制作简单日历

    输入年份和月份,输出当年当月的日历 输入输出如下: 主要思路: 1.判断平年闰年并判断2月的天数 2.判断星期几 3.日期与星期的对应,输出 代码如下: import java.util.Scanne ...

  7. java 模拟简单打印机功能_java 单例模式模拟打印机打印任务

    1.打印机报错处理类 package com.pattern06.singleton.sample03; public class PrintSpoolerException extends Exce ...

  8. java中实现工厂日历_Java实现的日历功能完整示例

    本文实例讲述了java实现的日历功能.分享给大家供大家参考,具体如下: 应用名称:Java日历 用到的知识:Java GUI编程,日期操作 开发环境:win8+eclipse+jdk1.8 功能说明: ...

  9. java 日历_Java实现的日历功能完整示例

    本文实例讲述了Java实现的日历功能.分享给大家供大家参考,具体如下: 应用名称:Java日历 用到的知识:Java GUI编程,日期操作 开发环境:win8+eclipse+jdk1.8 功能说明: ...

最新文章

  1. 字节跳动程序员说自己因为颜值太高被男同事集体排挤!失望透顶!准备转行!...
  2. 购买阿里云遇到Permission denied的问题
  3. 工作是老板的,生命是自己的。
  4. WebRTC 速成课程
  5. C语言代码规范(九)运算符优先级使用括号提高阅读性
  6. dismiss ios pop效果_iOS 动画框架pop使用方法
  7. android天气时钟课程设计报告,安卓课程设计报告--《基于网络返参的安卓天气预测分析》...
  8. ZLMediaKit+wvp-GB28181-pro,搭建28181协议视频平台
  9. php计算高考倒计时,高考倒计时器 网页
  10. 魔兽按键精灵 V2.0(修正1)
  11. 计算机中丢失rtutil,api-ms-win-core-winrt-string-l1-1-0.dll从您的计算机中丢失
  12. 被忽视的开发安全问题
  13. Shell程序退出状态码的命令详解
  14. Activity 启动流程
  15. Hadoop安装与部署
  16. ElasticSearch教程与实战:从搭建服务到Spring Boot整合
  17. 2012年Web设计和开发的15个趋势
  18. java连连看倒计时_java连连看代码
  19. 科技英语计算机单元答案,科技英语课后练习答案.doc
  20. 适合ipad的python编程软件-iPad编程软件推荐(一) —— Pythonista 3

热门文章

  1. 赠书福利丨Kubernetes权威指南第4版
  2. CS-APP CP2 信息的表示和处理
  3. 数字孪生政务丨构建大数据可视化展现平台,提高行政服务效能
  4. 生活随笔:工作的开心和不开心
  5. 获取小数点前面的数字
  6. 小学计算机课第二课堂活动总结,小学第二课堂活动总结
  7. 庆祝成为CSDN博客专家
  8. 开课吧mysql课件百度云_开课吧web全栈十二期|百度云|天翼云下载
  9. 学术生涯中曾经的小目标
  10. spring+quartz定时任务启动服务后没有马上执行