Calendar日历类

Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示和计算。

GregorianCalendarCalendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。

雷区

注意月份的表示,一月是0,二月是1,以此类推,12月是11。

因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表示月份:JANUARY、FEBRUARY等等。

效果

代码

package cn.hanquan.test;import java.text.DateFormat;
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 TestCalendar
{public static void main(String[] args) throws ParseException{// 读取字符串System.out.println("请输入年月日:");Scanner input = new Scanner(System.in);// 将字符串格式化为dateString str = input.nextLine();DateFormat df = new SimpleDateFormat("yyyy-MM-dd");Date date = df.parse(str);// 将date转化为calendarCalendar c = new GregorianCalendar();c.setTime(date);// 打印日期int weekOfMonth = c.get(Calendar.DAY_OF_MONTH);int maxDateOfMonth = c.getActualMaximum(Calendar.DATE);// 日期在当月里的最大值System.out.println("本月几号:DAY_OF_MONTH:" + c.get(Calendar.DAY_OF_MONTH));System.out.println("本月多少天:" + maxDateOfMonth);// 从1号开始 用于遍历c.set(Calendar.DAY_OF_MONTH, 1);int weekday = c.get(Calendar.DAY_OF_WEEK);System.out.println("本月1号星期几:DAY_OF_WEEK:" + (weekday - 1));int huanhang = -1;// 空出上个月末尾System.out.println("一\t二\t三\t四\t五\t六\t日");for (int j = 0; j < weekday - 2; j++){huanhang++;System.out.print("\t");}// 从本月1日开始打印for (int i = 1; i <= maxDateOfMonth; i++){huanhang++;int t = (i - 1 + c.get(Calendar.DAY_OF_MONTH));System.out.print(t);if (t == weekOfMonth)System.out.print("*");System.out.print("\t");// 打印换行if (huanhang % 7 == 6){System.out.print("\n");}}}
}

【Java Calendar日历类】可视化日历程序(控制台输出)相关推荐

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

    #Java 利用Calender类制作日历,并且标注日期 文章目录 1.题目需求 2. Calender类 java.uiti 类 Calender 3. 代码思路 1.从控制台获取一个日期.如202 ...

  2. java calendar 设置小时_Calendar 日历类的时间操作

    我们经常会涉及到对时间的处理,例如登陆网站,我们会看到网站首页显示XXX,欢迎您!今天是XXXX年....某些网站会记录下用户登陆的时间,比如银行的一些网站,对于这些经常需要处理的问题,Java中提供 ...

  3. 用java语言画一个可视化日历

    用java语言画一个可视化的日历界 package com.zzit.calFrame;import java.text.DateFormat; import java.text.ParseExcep ...

  4. python日历类,python日历类_Python 时间日历类型

    #时间日历 #time模块#提供了处理时间和表示之间转换的功能#获取当前时间戳#概念#从0时区的1970年1月1日0时0分0秒, 到所给定日期时间的秒数#浮点数#获取方式#import time#ti ...

  5. Java课堂作业:手机销售系统(控制台输出)

    文章背景:   在课堂上,一位老师提出制作一个手机销售系统.该系统在控制台显示,用户需要在控制台输入信息,方可完成手机销售环节. 代码展示 手机类型类 class iphone{String ipho ...

  6. 【JavaScript学习笔记2】JS中常见的输出方式-控制台输出信息

    引言 在编程开发的过程中,输出信息是非常必要的.JS中提供了四种输出方式:弹出显示框.控制台输出.弹出输入框.弹出判断显示框 弹出显示框 这种方式在上一篇笔记中已经详细介绍,有需要学习的朋友可以跳转到 ...

  7. java实现日历签到功能_[java] 可视化日历的实现(基于Calendar类 )

    写在前面 博文安排顺序如下 1.写在前面 2.源码 3.思路 4.相关知识 该小程序是对Date类及其相关类的复习 要求如下图:实现可视化日历 实现思路 1.先从键盘输入指定格式的字符串(str) 2 ...

  8. java可视化日历_Java简单可视化日历程序

    涉及知识: 一.Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单 ...

  9. Java的知识点22——时间处理相关类、Date时间类(java.util.Date)、DateFormat类和SimpleDateFormat类、Calendar日历类

    时间处理相关类 用long类型的变量来表示时间,获得现在时刻的"时刻数值":long now = System.currentTimeMillis(); Date时间类(java. ...

最新文章

  1. 教你实现Vscode的Markdown预览
  2. AndroidStudio报错:GradleSyncIssues-Could not install Gradle distribution from...
  3. 漫步者蓝牙驱动_2020年知乎最受欢迎的高性价比真无线蓝牙耳机推荐,轻松选择蓝牙耳机(9月最新)!...
  4. .NET应用迁移到.NET Core(一)
  5. 基于单片机超声波测距系统的设计_一种基于UWB技术实现的测距防撞系统
  6. 【MATLAB】Parzen窗与K近邻算法原理与代码详解
  7. Redis-字典(hash)基础
  8. mysql创建备份表脚本_MySQL 备份脚本(单库/分库分表)
  9. C++指针和引用的区别
  10. 国土空间规划数据汇交标准_国土空间规划数据治理指南来了
  11. 标记重复值删除重复值
  12. 【自然框架】之通用权限(三):组织结构表组
  13. 微型计算机原理8255跑马灯,单片机+74LS138译码器+跑马灯+8255A+8253方波实验详解
  14. Atitit 艾提拉整理清明节的诗歌集合 清明节的特征 万物复苏 百草发芽 尝试从股市 其他外国诗歌集 得到清明的诗歌 约谈春天 歌颂春天 下雨 不见方三日、 夜来风雨声,花落知多少。(
  15. 每日小技巧:教您ps提示内存不足怎么办?
  16. 数据库和 MIDP,第一部分:了解记录管理系统
  17. 肩部复杂的类人肌骨机器人手臂连杆机构
  18. 性能常识 [踩坑总结] nf_conntrack: table full, dropping packet [新]
  19. 基于Arduino、ESP8266的物联网项目开发方案整理、毕业设计(第二波)
  20. 液晶电视英文linux使用教程,Arduino 1602液晶屏实验和程序

热门文章

  1. linux时间格式怎么写,linux基础--时间格式
  2. android debug bridge tools_如何优雅的管理多环境下的Android代码
  3. Linux进程详细信息查看
  4. recv send 阻塞和非阻塞
  5. 数据结构与算法 | 链表
  6. 学会查看 RabbitMQ日志
  7. 【今晚七点】:对话快手张亮——聊聊音视频出海
  8. 杜比收购低延迟流媒体平台Millicast
  9. 智能视频内容生产中专业视频数据导出工具的研发
  10. 聚焦新基建,腾讯云十余项自研技术应用集中亮相