Java——实现简单日历功能
通过下面三个类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——实现简单日历功能相关推荐
- java 抽奖 界面显示,Java实现简单抽奖功能界面
本文实例为大家分享了Java实现简单抽奖功能的具体代码,供大家参考,具体内容如下 要求:定义文本框添加姓名,将姓名存储并且在界面中可见,点击抽奖按钮进行抽奖并输出最后的中奖得主. 关于抽奖当然需要用到 ...
- PHP 简单日历功能的实现
1.这是一个简单的 php 例子 2.这个例子的功能是,实现一个简单的日历显示功能. 3.该函数的作用是:输入指定的 年.月.日时,输出当前月的日历,并在输入的指定 日期 中,突出显示. 具体的代码实 ...
- java gif 水印_simpleImageTool又一纯java的简单而功能强的专门图片水印、缩放库,给gif加水印也很简单...
simpleImageTool又一个简单.好用的图片格式转换.缩放水印叠加等功能的纯Java图片工具库. simpleImageTool的由来,近期需要用到图片处理,通过网上的图片流直接进行缩放水印叠 ...
- Java Web简单搜索功能实现
小demo,没有使用框架. webapp项目,用到了servlet + jsp,使用jdbc从MySQL中查询数据 构建工具maven 先上截图 pom.xml 注意版本问题! <propert ...
- java 模拟简单打印机功能_java之玩转打印机
说在前面 很喜欢并发,所以一直在学并发.这就是因为爱,所以爱了吧!对了,上次说到去南天的事情,我过了,还算对得起自己吧,毕竟连hr都当面夸我优秀,哈哈! demo一之采用Lock锁仿一个打印机随机打印 ...
- java制作简单日历
输入年份和月份,输出当年当月的日历 输入输出如下: 主要思路: 1.判断平年闰年并判断2月的天数 2.判断星期几 3.日期与星期的对应,输出 代码如下: import java.util.Scanne ...
- java 模拟简单打印机功能_java 单例模式模拟打印机打印任务
1.打印机报错处理类 package com.pattern06.singleton.sample03; public class PrintSpoolerException extends Exce ...
- java中实现工厂日历_Java实现的日历功能完整示例
本文实例讲述了java实现的日历功能.分享给大家供大家参考,具体如下: 应用名称:Java日历 用到的知识:Java GUI编程,日期操作 开发环境:win8+eclipse+jdk1.8 功能说明: ...
- java 日历_Java实现的日历功能完整示例
本文实例讲述了Java实现的日历功能.分享给大家供大家参考,具体如下: 应用名称:Java日历 用到的知识:Java GUI编程,日期操作 开发环境:win8+eclipse+jdk1.8 功能说明: ...
最新文章
- 字节跳动程序员说自己因为颜值太高被男同事集体排挤!失望透顶!准备转行!...
- 购买阿里云遇到Permission denied的问题
- 工作是老板的,生命是自己的。
- WebRTC 速成课程
- C语言代码规范(九)运算符优先级使用括号提高阅读性
- dismiss ios pop效果_iOS 动画框架pop使用方法
- android天气时钟课程设计报告,安卓课程设计报告--《基于网络返参的安卓天气预测分析》...
- ZLMediaKit+wvp-GB28181-pro,搭建28181协议视频平台
- php计算高考倒计时,高考倒计时器 网页
- 魔兽按键精灵 V2.0(修正1)
- 计算机中丢失rtutil,api-ms-win-core-winrt-string-l1-1-0.dll从您的计算机中丢失
- 被忽视的开发安全问题
- Shell程序退出状态码的命令详解
- Activity 启动流程
- Hadoop安装与部署
- ElasticSearch教程与实战:从搭建服务到Spring Boot整合
- 2012年Web设计和开发的15个趋势
- java连连看倒计时_java连连看代码
- 科技英语计算机单元答案,科技英语课后练习答案.doc
- 适合ipad的python编程软件-iPad编程软件推荐(一) —— Pythonista 3