Calendar打印日历
package com.example.demo;import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner;import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;@RunWith(SpringRunner.class) @SpringBootTest public class DemoApplicationTests {@Testpublic void contextLoads() {setMonth("2018年02月");}private Date str2Date(String str) {try {SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月");return df.parse(str);} catch (Exception e) {e.printStackTrace();return null;}}/*** 设置月份*/private void setMonth(String Month) {Date month = str2Date(Month);boolean isCurrentMonth = false;Calendar calendar = Calendar.getInstance();calendar.setTime(new Date());//获取今天是多少号int currentDay = calendar.get(Calendar.DAY_OF_MONTH);int todayWeekIndex = calendar.get(Calendar.DAY_OF_WEEK) - 1;Date cM = str2Date(getMonthStr(new Date()));//判断是否为当月if (cM.getTime() == month.getTime()) {isCurrentMonth = true;int selectDay = currentDay;//当月默认选中当前日} else {isCurrentMonth = false;int selectDay = 0;}System.out.println("设置月份:" + getMonthStr(month) + " 今天" + currentDay + "号, 是否为当前月:" + isCurrentMonth);calendar.setTime(month);int dayOfMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//第一行1号显示在什么位置(星期几)int firstIndex = calendar.get(Calendar.DAY_OF_WEEK) - 1;int lineNum = 1;//第一行能展示的天数int firstLineNum = 7 - firstIndex;int lastLineNum = 0;int shengyu = dayOfMonth - firstLineNum;while (shengyu > 7) {lineNum++;shengyu -= 7;}if (shengyu > 0) {lineNum++;lastLineNum = shengyu;}System.out.println(getMonthStr(month) + "月一共有" + dayOfMonth + "天,第一天的索引是:" + firstIndex + " 有" + lineNum +"行,第一行" + firstLineNum + "个,最后一行" + lastLineNum + "个");int days[][] = new int[5][7];String weeks[] = {"星期-", "星期二", "星期三", "星期四", "星期五"};for (int day = 0; day < dayOfMonth; day++) {int column = (day + firstIndex) % 7;int row = (day + firstIndex) / 7;days[row][column] = day + 1;}for (int i = 0; i < weeks.length; i++) {System.out.print(weeks[i] + "\t");}System.out.println();for (int i = 0; i < days.length; i++) {for (int j = 0; j < days[i].length; j++) {if (days[i][j] == 0)System.out.print("\t");elseSystem.out.print(days[i][j] + "\t");}System.out.println();}}/*** 获取月份标题*/private String getMonthStr(Date month) {SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月");return df.format(month);}}
转载于:https://www.cnblogs.com/ggband/p/9561872.html
Calendar打印日历相关推荐
- 第六章第三十四题(打印日历)(Print calendar) - 编程练习题答案
**6.34(打印日历)编程练习题3.21使用Zeller一致性原理来计算某天是星期几.使用Zeller的算法简化程序清单6-12以获得每月开始的第一天是星期几. **6.34(Print calen ...
- 利用Java Calendar类打印日历
利用Java Calendar类打印日历 说到日历,我们接触的就多了,每天都在和日历打交道,每年家里都会买日历.那么,大家知道如何用Java打印日历呢?在这里,我说一下如何用Calendar类打印日历 ...
- 利用Calendar类打印日历
import java.util.Calendar; import java.util.Date; import java.util.Scanner; public class Test {publi ...
- 日历签到 java_Java实现按年月打印日历功能【基于Calendar】
本文实例讲述了Java实现按年月打印日历功能.分享给大家供大家参考,具体如下: import java.text.ParseException; import java.text.SimpleDate ...
- python日历提醒_python打印日历
#未优化的代码 1 #输出日历 def print_calendar(year,month,date = 1): month_dict = {'':'January','':'February','' ...
- Python:打印日历,验证信用卡号是否合法
Python语言基础-2.5函数基础(理) 第5关:函数综合实训-打印日历 本关任务:利用函数的知识完成如下习题: 1.编写判断信用卡号是否合法的判断程序. 2.编写函数模块,打印日历程序 第1题 信 ...
- python打印一年的日历_使用Python打印日历
在本教程中,我们将学习如何使用Python的日历模块打印月份和年份的日历.在Python中这很简单.我们需要年和月的数字.而已. 让我们看看如何打印年历.请按照以下步骤打印年历.导入日历模块. 初始化 ...
- JAVA练习:利用JAVA基本语句实现打印日历
已知1900年1月1日是星期一,要求打印输入年月的日历. 输出结果格式: 日 一 二 三 四 五 六 ...
- 【Java基础】控制台打印日历
描述 通过Calendar的基本使用,以及对控制台输出内容进行对齐的一些小技巧,在控制台打印出某年某月的一个日历. 一. java.util.Calendar类的使用 在Java类库中有一个类:jav ...
- java 打印日历
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
最新文章
- POJ - 3255 Roadblocks(次短路)
- Beetlex.Redis之Stream功能详解
- IntelliJ IDEA:使用Google Guava生成equals,hashCode和toString
- 四参数坐标转换c++_GPSRTK坐标转换及四参数、七参数适用条件
- python十个运维实战项目_干货 | 这4个Python实战项目,让你瞬间读懂Python!
- Wordpress婚庆婚纱摄影工作室企业网站主题模板
- 开源android手写批注,浅析各阅读平台手写批注 智器阅读显身手
- oracle pl sql case,oracle plsql case when_end case小记
- java8 bigdecimal_在java 8中并行使用BigDecimal进行分组和求和
- BZOJ 4043 [HAOI2015]树上操作 dfs序 线段树
- Linux快速构建apache web服务器
- 吴恩达机器学习作业 线性回归
- 全套Java基础视频教程
- 华泰证券 python 自动交易软件_有哪些能做自动交易的软件?
- 打开计算机任务栏有桌面没,电脑桌面任务栏不显示打开的窗口怎么办
- 杭州电子科技大学acm-2001
- ECS实例及阿里云服务器ECS功能组件的说明
- 数字计算机之父——冯·诺依曼
- 计算机网络-超网聚合(子网合并)
- OpenCV每日函数 图像过滤模块 (8) GaussianBlur高斯模糊函数
热门文章
- 车辆维修管理系统mysql_4S店汽车维修管理系统的分析与设计(JSP+MySQL)
- 从零开始学java系列第一季第一期:简单的了解java并安装jdk以及环境配置
- MSI设计一个1位二进制全减器
- java实习计划_JAVA实习计划及指导书.pdf
- sprintf函数的用法linux,Linux 常用函数——sprintf函数
- multisim14安装与卸载
- 非线性光纤光学——四波混频
- 《Java从入门到放弃》系列文章改版中...
- Hbase数据库设计
- 互联网财富管理平台应该怎么做?(下篇)