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);}}

posted on 2018-08-30 18:21 ggband 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/ggband/p/9561872.html

Calendar打印日历相关推荐

  1. 第六章第三十四题(打印日历)(Print calendar) - 编程练习题答案

    **6.34(打印日历)编程练习题3.21使用Zeller一致性原理来计算某天是星期几.使用Zeller的算法简化程序清单6-12以获得每月开始的第一天是星期几. **6.34(Print calen ...

  2. 利用Java Calendar类打印日历

    利用Java Calendar类打印日历 说到日历,我们接触的就多了,每天都在和日历打交道,每年家里都会买日历.那么,大家知道如何用Java打印日历呢?在这里,我说一下如何用Calendar类打印日历 ...

  3. 利用Calendar类打印日历

    import java.util.Calendar; import java.util.Date; import java.util.Scanner; public class Test {publi ...

  4. 日历签到 java_Java实现按年月打印日历功能【基于Calendar】

    本文实例讲述了Java实现按年月打印日历功能.分享给大家供大家参考,具体如下: import java.text.ParseException; import java.text.SimpleDate ...

  5. python日历提醒_python打印日历

    #未优化的代码 1 #输出日历 def print_calendar(year,month,date = 1): month_dict = {'':'January','':'February','' ...

  6. Python:打印日历,验证信用卡号是否合法

    Python语言基础-2.5函数基础(理) 第5关:函数综合实训-打印日历 本关任务:利用函数的知识完成如下习题: 1.编写判断信用卡号是否合法的判断程序. 2.编写函数模块,打印日历程序 第1题 信 ...

  7. python打印一年的日历_使用Python打印日历

    在本教程中,我们将学习如何使用Python的日历模块打印月份和年份的日历.在Python中这很简单.我们需要年和月的数字.而已. 让我们看看如何打印年历.请按照以下步骤打印年历.导入日历模块. 初始化 ...

  8. JAVA练习:利用JAVA基本语句实现打印日历

    已知1900年1月1日是星期一,要求打印输入年月的日历. 输出结果格式: 日    一    二    三    四    五    六                                 ...

  9. 【Java基础】控制台打印日历

    描述 通过Calendar的基本使用,以及对控制台输出内容进行对齐的一些小技巧,在控制台打印出某年某月的一个日历. 一. java.util.Calendar类的使用 在Java类库中有一个类:jav ...

  10. java 打印日历

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

最新文章

  1. POJ - 3255 Roadblocks(次短路)
  2. Beetlex.Redis之Stream功能详解
  3. IntelliJ IDEA:使用Google Guava生成equals,hashCode和toString
  4. 四参数坐标转换c++_GPSRTK坐标转换及四参数、七参数适用条件
  5. python十个运维实战项目_干货 | 这4个Python实战项目,让你瞬间读懂Python!
  6. Wordpress婚庆婚纱摄影工作室企业网站主题模板
  7. 开源android手写批注,浅析各阅读平台手写批注 智器阅读显身手
  8. oracle pl sql case,oracle plsql case when_end case小记
  9. java8 bigdecimal_在java 8中并行使用BigDecimal进行分组和求和
  10. BZOJ 4043 [HAOI2015]树上操作 dfs序 线段树
  11. Linux快速构建apache web服务器
  12. 吴恩达机器学习作业 线性回归
  13. 全套Java基础视频教程
  14. 华泰证券 python 自动交易软件_有哪些能做自动交易的软件?
  15. 打开计算机任务栏有桌面没,电脑桌面任务栏不显示打开的窗口怎么办
  16. 杭州电子科技大学acm-2001
  17. ECS实例及阿里云服务器ECS功能组件的说明
  18. 数字计算机之父——冯·诺依曼
  19. 计算机网络-超网聚合(子网合并)
  20. OpenCV每日函数 图像过滤模块 (8) GaussianBlur高斯模糊函数

热门文章

  1. 车辆维修管理系统mysql_4S店汽车维修管理系统的分析与设计(JSP+MySQL)
  2. 从零开始学java系列第一季第一期:简单的了解java并安装jdk以及环境配置
  3. MSI设计一个1位二进制全减器
  4. java实习计划_JAVA实习计划及指导书.pdf
  5. sprintf函数的用法linux,Linux 常用函数——sprintf函数
  6. multisim14安装与卸载
  7. 非线性光纤光学——四波混频
  8. 《Java从入门到放弃》系列文章改版中...
  9. Hbase数据库设计
  10. 互联网财富管理平台应该怎么做?(下篇)