java 使用Calendar制作日历

java中Calendar类制作日历 立即下载

创建一个类MyCalendar(Calendar抽象类)

该抽象类可以直接获取本机的日历实例,并通过YEAR,MONTH,DAY_OF_MONTH等方法操控该日历字段

创建构造器

定义属性年月,并创建构造器,,下面是代码:

    private int year;
	private int month;
	private MyCalendar(int year,int month) {
		this.year = year;
		this.month = month;
	}

获取实例

使用getinstance获取实例,并对日历属性初始化化。下面是代码:

	Calendar c = Calendar.getInstance();
	c.set(Calendar.YEAR, year);
	c.set(Calendar.MONTH, month-1);
	c.set(Calendar.DAY_OF_MONTH, 1);

因为在Calendar.MONTH是从0~11,所以我们实际输入的值会比我们程序的月份值+1个月,所以我们在这里先事先-1处理。这样程序月份会和我们输入的月份统一。

日历每个月的格式处理

定义一个变量获取每个月第一天是这个星期的第几天,由此可获得每个月一号前可空几天。
再定一个变量获取当前月份的最大天数,下面是代码: c.get(Calendar.DAY_OF_WEEK) - 1处同Calendar理

	int weekDay = c.get(Calendar.DAY_OF_WEEK) - 1; 
	int days = c.getActualMaximum(Calendar.DAY_OF_MONTH);

定义一个变量用来控制换行,但是先使用该变量控制输出1日前的空天数,使用for循环,使变量i小于之前的定义的weekDay,得出空格数,同时count自加,然后每当count = 7时换行。一直循环到这个月最大的天数。

		int count = 0;
		for (int i = 1; i < weekDay; i++) {
			System.out.print("\t");
			count++;
		}
		for (int i = 1; i <= days; i++) {
			if (count == 7) {
				System.out.println();
				count = 0;
			}
			System.out.print(i+"\t");
			count++;
		}	

测试

调用主函数,输入要查询的年月

	public static void main(String[] args) {
		new MyCalendar(2020, 7).showCaldendar();
	}

测试

bug修复

测试时发现每个月的第一天为当周的第0天时,出现bug,因为DAY_OF_WEEK是从周日到周六计算的,对应的索引为0~6,所以当weekDay=0时,直接将其重新赋值weekDay=7。
在for循环前加入下面代码:

	if (weekDay == 0) {
			weekDay = 7;
	}
使用JAVA实现日历功能 使用JAVA函数实现日历功能,函数封装,方便导入到实际的项目中 立即下载

相关推荐

YOLOv8基础环境搭建cuda+anaconda+pytorch+pycharm

首先安装NVIDIA gpu的电脑安装显卡驱动,如果安装过了,或者想使用cpu的,可以跳过这一步。打开cmd,输入nvidia-smi查看GPU的CUDA版本,可以看到CUDA版本12.3,意味着只能安装小于12.3的CUDA版本。下载完成,进行安装,建议安装在非系统盘,以后会创建比较多的环境的话,剩下的默认安装即可。,需要注册一个NVIDIA账号,然后选择CUDA对应版本的cudnn即可。,以12.2.1版本举例,选好系统参数,点击下载,,以11.6版本举例,选好系统参数,点击下载,

qq_16602159的博客 2383

Java 利用Calender类制作日历,并且标注日期

Java 利用Calender类制作日历,并且标注日期。

Artist_sword的博客 3042

Steam游戏服务器攻防全景解读——如何构建游戏级抗DDoS防御体系?

当检测到TCP/UDP混合攻击时,应触发预设的熔断策略:优先保障游戏大厅服务的UDP 27015端口,临时限制匹配系统的TCP连接数。针对Steam游戏服务器特有的UDP 4380端口,需配置协议合规性检查规则:限制数据包长度不超过128字节,强制校验请求来源IP的真实性。Steam游戏服务器的防护需要平衡安全性与玩家体验,通过协议深度解析、智能流量调度和服务端加固的三维防御体系,可构建游戏行业专属的抗DDoS护城河。答:采用弹性防护方案,基础防护带宽保持50Gbps,遭遇攻击时自动扩展至T级清洗能力。

2501_91486804的博客 1455

Java 中Calendar日历类的基本使用

Calendar介绍: Calendar类为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法。 Calendar提供了一个类方法getInstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化。 下面代码中给出Calendar类常用的方法,详细注释已经在代码中给出: public class CalendarDemo { public static void main(String[] args) { //获取Calendar对象

路宇的博客 4268

Educoder | 计算机网络实验-Ping命令与ICMP协议分析

任务描述本关任务:捕获 Ping 程序生成的数据包。相关知识ping命令Ping 程序是一个简单的工具,允许任何人(例如:网络管理员)验证主机是否存在。源主机中的 Ping 程序将数据包发送到目标 IP 地址;如果目标是在线的,则目标主机中的 Ping 程序将会发送响应 Ping 数据包证明他在线,这两个 Ping 数据包都是 ICMP 数据包。在 Unix/Linux,序列号从 0 开始计数,依次递增。而 Windows 中 ping 程序的 ICMP 序列号是没有规律;;。

Mksg_28的博客 7627

基于Hadoop的NBA篮球球员大数据分析与可视化系统大数据分析系统python的项目(源码+lw+部署文档+讲解等)

本系统以 Hadoop 为基础,致力于对 NBA 篮球球员的海量数据进行深入分析与可视化呈现。它能够收集来自多个数据源的丰富数据,包括球员比赛统计数据、身体素质数据、技术特点数据等。利用 Hadoop 的分布式存储和计算能力,对这些大规模数据进行高效处理。通过数据分析算法,挖掘球员的潜在价值和特点,如球员的得分能力趋势、篮板球效率变化、不同位置球员的技术差异等。同时,借助先进的可视化技术,将分析结果以直观的图表、图形等形式展示出来。教练和球队管理层可以通过可视化界面清晰地了解球员的综合表现和发展态势,从而制

QQ3359892174的博客 1314

使用java的Calendar类实现日历(输入一个年份和月份,按格式输出此月份的日历)

输入一个年份和月份,按格式输出此月份的日历

weixin_72979483的博客 3658

FPGA+CMV4000实战:从零搭建20fps成像系统的5个关键步骤(附避坑指南)

本文详细介绍了如何从零搭建基于FPGA和CMV4000传感器的20fps成像系统,涵盖硬件选型、SPI通信优化、LVDS数据采集、DDR2内存管理及系统集成等5个关键步骤。特别针对CMV4000传感器的SPI配置和高速数据处理的常见问题提供实用解决方案,帮助开发者避免常见陷阱,提升成像系统性能。

weixin_42628688的博客 428

使用CalendarAPI写java版万年历

使用CalendarAPI写java版万年历 在论坛里看了好多万年历的版本,然后发现没有一款是使用Calendar做出来的,所以今天分享一个使用CalendarAPI写的Java版万年历,非常的简单,只要明白Calendar的使用方法就可以。 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util...

Renaaa的博客 981

手把手教你用Switched-Capacitor Converter实现高效DC-DC转换(附常见拓扑对比)

本文详细介绍了开关电容转换器(SC)在高效DC-DC电源设计中的应用,对比了四种常见拓扑结构的优缺点,并提供了损耗分析与效率优化的实战技巧。通过无电感设计,SC转换器在5G模块和可穿戴设备中展现出超高功率密度和微小体积的优势,是电源管理领域的革命性技术。

weixin_30790841的博客 273

零基础基于U-Net网络实战眼底图像血管提取

文章目录1 前言2 血管提取任务概述3 U-Net架构简介4 眼底图像血管分割代码5 结果评估可视化(ROC曲线)6 改进U-Net网络完成眼底图像血管提取任务思路 1 前言 本文基于U-Net架构完成了视网膜血管的提取任务,基于Keras框架更简单的实现分割,网络、工具类、训练和预测的代码一目了然

NJU phd 在读。 5203

Java 日历类 Calendar 相关方法

/** * 计算指定日期为当年第几周 * @param year 指定的年份 * @param month 指定的月份 * @param day 指定的日 * @return 指定日期为当年的第几周 */ public static int caculateWeekOfYear(int year,int month,in

乄汌。寶呗嬡沵ζ﹎ 894

芯片测试:WAT、CP、FT

最近部门来了一个日本回来的同事,虽然他尽量用非常Poor的中文给我解释一些东西,其中还夹杂着一些英文让我很受挫,于是最近来学一下WAT中的常用的单词含义。直接去查缩写、查单词很难去记住,要把具体的东西放在具体的场景,引发知识的连接才会在脑子里留下一定的映像。感兴趣的一起来学习一下这篇不错的文章吧。注释是我查询记录,如有不妥,欢迎指出修正。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 5089

java calendar制作日历,Java Calendar类简单应用:实现可视化日历

import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.Scanner;public class VisualCalendar{pu...

weixin_29479087的博客 264

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java 制作 日历 Calendar(for、if、静态空间)

java 根据当月天数以及 第一个星期天的日期 制作日历

m0_66915880的博客 1205

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

怎么用java做日历_怎么用java做日历?实例讲解

Java是一种高级语言,可以用到很多领域中,这不,用java还可以做日历,那么怎么用java做日历?今天我们就给大家讲解一下用java做日历的方法,学会大家也可以做一个日历出来!我们需要用到两个类:SimpleDateFormat和Calendar。首先看看这两个类的用法:类 SimpleDateFormatSimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。...

weixin_33144635的博客 1119

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

java日历制作日期不对_使用Calendar调用时间 月份不对

import java.util.Calendar;public class Test8 {public static void main(String[] args) {Calendar c=Calendar.getInstance();//创建Calendar对象int year=c.get(Calendar.YEAR);//获取年int month=c.get(Calendar.MONTH)...

weixin_34281191的博客 1068

java电脑日历_Java中calendar对万年历的制作(同步电脑上的万年历日期格式)

Java编程中calendar对万年历的制作教程使用到的方法:1.日期类型的转换:String----->DateString str = "2020年05月27日 20:28:50";//SimpleDateFormat格式化时间//y:年yyyy:四位年//M:月MM:两位月//d:日dd:两位日//H:小时HH://m:分钟mm://s:秒数ss://a:上午 下午//E:星期Simp...

weixin_39535217的博客 323

【Java】制作一个万年历,使用Calendar类输出某年的日历(如2008年),并统计日期的个位数与相应的星期恰好相同的总天数

总结了一下很多人对这题的思路解法,归纳出了自己的解法,觉得能让大家更好理解掌握,希望对大家有所帮助! package ex06; import java.util.Calendar; /** * 制作一个万年历 * @content:使用Calendar类输出2008年的日历,并统计日期的个位数与相应的星期恰好相同的总天数 * @author:H烊X */ public class P160_4_CalendarDemo { //找到与相应的星期恰好相同的目标 static String[] w

学无止境 1447

java 制作简易日历_如何用Java制作一个简易日历

简易日历制作记录一下Java实现的一个日历小程序,效果图如下: 实现以上的效果,我们需要用到两个类:SimpleDateFormat和Calendar。首先看看这两个类的用法:类 SimpleDateFormatSimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期(Date) -> 文本(String))、解析(文本(String)...

weixin_42356829的博客 989

怎么用java做日历_如何用Java制作一个简易日历

简易日历制作记录一下Java实现的一个日历小程序,效果图如下:实现以上的效果,我们需要用到两个类:SimpleDateFormat和Calendar。首先看看这两个类的用法:类 SimpleDateFormatSimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期(Date) -> 文本(String))、解析(文本(String) ...

weixin_35858450的博客 713

如何用Java制作一个简易日历

简易日历制作 记录一下Java实现的一个日历小程序,效果图如下: 实现以上的效果,我们需要用到两个类:SimpleDateFormat和Calendar。 首先看看这两个类的用法: 类 SimpleDateFormat SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期(Date) -> 文本(String))、解析...

weixin_34167819的博客 356

java 制作简易日历_帮忙用JAVA编写一个简单的日历

展开全部import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;class DateWin extends JFrame implements ItemListener{Calendar cd = null;int years;int months;int dates;JTable tabl...

weixin_34138102的博客 290

java calendar日期格式_Java中calendar对万年历的制作(同步电脑上的万年历日期格式)...

Java编程中calendar对万年历的制作教程使用到的方法:1.日期类型的转换:String----->DateString str = "2020年05月27日 20:28:50";//SimpleDateFormat格式化时间//y:年yyyy:四位年//M:月MM:两位月//d:日dd:两位日//H:小时HH://m:分钟mm://s:秒数ss://a:上午 下午//E:星期Simp...

weixin_35793067的博客 314

利用Calendar类编写一个万年历程序

Calendar万年历,制作指定年份的日历 1、Java中Calendar类是抽象基类,在创建对象的时候不能直接用new进行调用创建 //使用子类GregorianCalendar Calendar cal = new GregorianCalendar(); //第二种 Calendar cal = Calendar.getInstance(); 2、Calendar类中可以使用get方法来获...

m0_46526358的博客 1197

java日历类Calendar简单使用

import java.util.Calendar; import java.util.TimeZone; public class Test1 { public static void main(String[] args) { //指定东八区,即北京时间 Calendar...

dibe49481448的博客 183
上一篇: Java 随机生成验证码生并验证
下一篇: java实现文件拷贝
睡觉不打招呼
博客等级 码龄6年 3粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值