本文实例为大家分享了java实现日历功能的具体代码,供大家参考,具体内容如下

完成一个 java application应用程序,输出一份当前所在时区当前时间的一个月的日历(1号到28/29/30/31号,以及每天对应为星期几)。

思路:

(1)获得这一年是否是闰年。闰年的2月只有28天,非闰年2月有29天。其他1、3、5、7、8、10、12月每月31天,2、4、6、9、11每月30天。
(2)根据上一步获得这个月的总天数。
(3)获得这个月第一天是星期几。然后依次填充。直到这个月最后一天。

代码如下:

import java.text.*;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;

class MyCalendar {
?
?? ?public static void main(String[] args) throws ParseException
?? ?{?? ??? ?
?? ??? ?int maxDay = 0;?? ?
?? ??? ?int firstDay = 0;?? ?
?? ??? ?int currentDay = 0;?? ??? ?
?? ??? ?
?? ??? ?System.out.println("请输入一个日期:格式为:2020-02-02");?? ?
?? ??? ?Scanner sc = new Scanner(System.in);
?? ??? ?String str = sc.nextLine();?? ?//键盘输入日期格式的字符串

?? ??? ?DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
?? ??? ?Date date = format.parse(str);?? ?//将字符串转化为指定的日期格式
?? ??? ??? ?
?? ??? ?Calendar calendar = new GregorianCalendar();
?? ??? ?calendar.setTime(date);?? ?//将日期转化为日历
?? ??? ?maxDay = calendar.getActualMaximum(Calendar.DATE);?? ?//当前日期中当前月对应的最大天数
?? ??? ?currentDay = calendar.get(Calendar.DATE);?? ?//当前日期中的当前天
?? ??? ?calendar.set(Calendar.DATE, 1); // 设置为当前月的第一天
?? ??? ?firstDay = calendar.get(Calendar.DAY_OF_WEEK);?? ?//当前日期中当前月第一天对应的星期数

??? ??? ?System.out.println("------------------------------------------------------");
?? ??? ?System.out.println("周日\t周一\t周二\t周三\t周四\t周五\t周六\n");
?? ??? ?System.out.println("------------------------------------------------------");
?? ??? ?for (int j = 1; j < firstDay; j++) //当前月第一天之前以空格输出
?? ??? ?{
?? ??? ??? ?System.out.print("\t");
?? ??? ?}?
?? ??? ?for (int i = 1; i <= maxDay; i++) //输出当月每一天的号数
?? ??? ?{
?? ??? ??? ?if (i == currentDay) //以*i表示当天日期
?? ??? ??? ?{
?? ??? ??? ??? ?System.out.print("*");
?? ??? ??? ?}
?? ??? ??? ?System.out.print(i + "\t");
?? ??? ??? ?if ((i - (8 - firstDay)) % 7 == 0) //以七天为一个循环输出所有天数
?? ??? ??? ?{
?? ??? ??? ??? ?System.out.println("\n");
?? ??? ??? ?}?
?? ??? ?}
?? ?}
}

结果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
  • Java实现简单日历小程序 Java图形界面小日历开发
  • Java实现桌面日历
  • Java实现窗体程序显示日历表
  • Java实现窗体程序显示日历
  • Java编写实现窗体程序显示日历
  • java实现日历窗口小程序
  • 日历显示读出输入的年月的java代码
  • Java中的Calendar日历API用法完全解析
  • Java实现的日历功能完整示例
  • Java实现简单的日历界面

转载请注明出处:http://www.lntyys.com/article/20230327/236015.html

随机推荐

  1. JAVA实现链表面试题

    这份笔记整理了整整一个星期,每一行代码都是自己默写完成,并测试运行成功,同时也回顾了一下《剑指offer》这本书中和链表有关的讲解,希望对笔试和面试有所帮助。 本文包含链表的以下内容:   1、单链表的创建和遍历   2、求单链表中节点的...

  2. Java 实现滑动时间窗口限流算法的代码

    在网上搜滑动时间窗口限流算法,大多都太复杂了,本人实现了个简单的,先上代码: package cn.dijia478.util; import java.time.LocalTime; import java.util.Linked...

  3. java 实现切割文件和合并文件的功能

    java 实现切割文件和合并文件的功能 一、切割文件代码如下: 需求:将一个媒体文件切割成多个碎片(每个碎片的大小为1M),并添加配置说明文件 1.创建(指定)一个文件夹,用于保存切割出来的碎片 2.创建源文件对象,并传入一个输入流...

  4. Java实现多线程聊天室

    本文实例为大家分享了Java实现多线程聊天室的具体代码,供大家参考,具体内容如下 之前呢已经用单线程的方式来实现了聊天室,但其实它的功能并不齐全,下面用多线程来实现,功能会比单线程聊天室更加齐全,也更人性化一点 多线程版本的聊天室 1. ...

  5. java实现简单超市管理系统

    本文实例为大家分享了java实现超市管理系统的具体代码,供大家参考,具体内容如下 一、使用技术 javaSE 二、实现功能 超市管理系统 具体要求如下: 使用选择结构,循环结构,数组的知识实现一个超市管理系统 三、运行效果图 ...

  6. JAVA实现数字大写金额转换的方法

    本文实例讲述了JAVA实现数字大写金额转换的方法。分享给大家供大家参考。具体如下: 例子:实现将阿拉伯数字的金额转换成中文大写金额的形式,例如: ¥1011 → 壹仟零壹拾壹元整。 大写数字为:零、壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、...

  7. java实现简单注册选择所在城市

    本文实例为大家分享了java实现简单注册选择所在城市的全部代码,供大家参考,具体内容如下 1.activity_main.xml xml version="1.0" encoding="utf-8" LinearLayout xm...

  8. java实现二维数组转json的方法示例

    本文实例讲述了java实现二维数组转json的方法。分享给大家供大家参考,具体如下: package Tsets; public class erweiTojson { public static void main(String[...

  9. Java实现的mysql事务处理操作示例

    本文实例讲述了Java实现的mysql事务处理操作。分享给大家供大家参考,具体如下: 1、事务是一组要么同时执行成功,要么同时执行失败的sql语句。是数据库操作的一个执行单元。 2、事物的四大特点: (1)atomicity(原子性)表示...

  10. java实现一次性压缩多个文件到zip中的方法示例

    本文实例讲述了java实现一次性压缩多个文件到zip中的方法。分享给大家供大家参考,具体如下: 1.需要引入包: import java.io.File; import java.io.FileInputStream; import ...