写在前面

博文安排顺序如下

1.写在前面

2.源码

3.思路

4.相关知识

该小程序是对Date类及其相关类的复习

要求如下图:实现可视化日历

实现思路

1.先从键盘输入指定格式的字符串(str)

2.将字符串用格式转换类转换成日期( Date date = format.parse(str) )

3.将日期设置成日历类( calendar.setTime(date) )

4.获取当月第一天是周几( calendar.get(Calendar.DAY_OF_WEEK) )

5.获取当月多少天( calendar.getActualMaximum(Calendar.DATE) )

6.按格式输出

源码

1 packageTestCalendar;2

3 importjava.util.Date;4 importjava.text.DateFormat;5 importjava.text.ParseException;6 importjava.text.SimpleDateFormat;7 importjava.util.Calendar;8 importjava.util.GregorianCalendar;9

10

11 public classvisonCalendar {12 public static voidmain(String args[]){13

14 String temp = "2014-11-11";15 Calendar calendar = newGregorianCalendar();16 DateFormat df = new SimpleDateFormat("yyyy-MM-dd");17

18 try{19 Date date =df.parse(temp);20 calendar.setTime(date);21 int day =calendar.get(Calendar.DATE);22 calendar.set(Calendar.DAY_OF_MONTH, 1);23 int FirstDay =calendar.get(Calendar.DAY_OF_WEEK);24 int maxDate =calendar.getActualMaximum(Calendar.DATE);25 System.out.println(FirstDay);26

27 System.out.println("日\t一\t二\t三\t四\t五\t六");28 for(int i = 1; i <= maxDate; i++){29 if (i ==day){30 System.out.print("*");31 }32 while((FirstDay-1)>0){ //按照需要打印的格式,本月1号从第FirstDay天开始,所以前面需要(FirstDay-1)个" \t"

33 System.out.print(" \t");34 FirstDay--;35 }36

37 System.out.print(i+"\t");38 int w =calendar.get(Calendar.DAY_OF_WEEK);39 if(w == Calendar.SATURDAY){ //每到周六换行

40 System.out.print("\n");41 }42 calendar.add(Calendar.DATE, 1); //从1号开始打印,每次打印完日期加1,否则换行if判断无效

43

44 }45 } catch(ParseException e) {46 e.printStackTrace();47 }48

49 }50

51 }

相关知识

Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11 进行表示。

而 Calendar.DAY_OF_WEEK 定义和值如下:

Calendar.SUNDAY = 1

Calendar.MONDAY = 2

Calendar.TUESDAY = 3

Calendar.WEDNESDAY = 4

Calendar.THURSDAY = 5

Calendar.FRIDAY = 6

Calendar.SATURDAY = 7

SimpleDateFormat 的格式定义

LetterDate or Time ComponentPresentationExamples

G

Era designator

AD

y

Year

1996; 96

Y

Week year

2009; 09

M

Month in year (context sensitive)

July; Jul; 07

L

Month in year (standalone form)

July; Jul; 07

w

Week in year

27

W

Week in month

2

D

Day in year

189

d

Day in month

10

F

Day of week in month

2

E

Day name in week

Tuesday; Tue

u

Day number of week (1 = Monday, ..., 7 = Sunday)

1

a

Am/pm marker

PM

H

Hour in day (0-23)

0

k

Hour in day (1-24)

24

K

Hour in am/pm (0-11)

0

h

Hour in am/pm (1-12)

12

m

Minute in hour

30

s

Second in minute

55

S

Millisecond

978

z

Time zone

Pacific Standard Time; PST; GMT-08:00

X

Time zone

-08; -0800; -08:00

java实现日历签到功能_[java] 可视化日历的实现(基于Calendar类 )相关推荐

  1. java 日历签到功能_基于jquery实现日历签到功能

    使用Jquery实现每日签到功能 基于jquery实现日历签到功能 jquery记事日历插件e-calendar 思路:1.获取当月第一天是周几2.获取当月共几天 通过获取下月的第0天,即是当月最后一 ...

  2. java 日历签到功能_快速简单的实现在日历上签到的功能,不需要日历组件,带后端实现讲解...

    原本想使用日历组件,发现太麻烦,仅仅就签到而已,把当月的日期渲染一下就可以了,样式也可以自己随便写,用日历组件还得想办法改日历组件的样式. 以下使用到了vue,vant就用了弹窗.按钮,换成其他的也行 ...

  3. java 日历签到功能_自定义Calendar实现签到功能

    前言 这篇文章没有什么可看性,主要是源码注释太多,推荐自己看源码,更容易理解些,在这里主要介绍,其运作流程,贴代码片段. 自定义View要重写三个方法:onMeasure,onLayout,onDra ...

  4. java实现团购功能_[Java教程]jquery组件团购倒计时功能

    [Java教程]jquery组件团购倒计时功能 0 2014-05-12 12:00:04 本文网址:http://www.shaoqun.com/a/90954.html *特别声明:以上内容来自于 ...

  5. java 日历签到功能_Android 在日历的基础上实现签到功能

    时间:2019-04-26 概述:签到 日历 这是一个APP签到功能的实例,本实例通过在日历中进行标注,实现日历签到功能.运行实例,单击"签到"按钮,会在日历中当天的位置添加&qu ...

  6. 微信字 签到 java_java微信签到功能实现:java做的一个简易的微信签到系统

    java微信签到功能实现,现在微信签到功能很流行,这个签到功能帮助微信用户更好的管理自己的微信公众号,那你想知道java微信签到功能如何实现呢,今天小编就特意为大家分享一个关于java微信签到功能实现 ...

  7. java设计按月每天签到_java微信签到功能实现:java做的一个简易的微信签到系统的案例...

    java微信签到功能实现,现在微信签到功能很流行,这个签到功能帮助微信用户更好的管理自己的微信公众号,那你想知道java微信签到功能如何实现呢,今天小编就特意为大家分享一个关于java微信签到功能实现 ...

  8. java 1.8新增功能_睡觉时:新增的Java 8新增功能

    java 1.8新增功能 自Java 8推出以来,最有趣的功能是什么? Java 8最近庆祝了它的第一个生日,其主要版本已经在一年多以前了. 这当然值得庆祝. 自从最初的Java 8版本问世以来,已经 ...

  9. js php 实现日历签到_基于jquery实现日历签到功能_jquery

    在一些任务游戏.贴吧管理中都会有一个签到功能,帮助大家记录登录天数,积累等级经验,这个日历签到功能是如何实现的,本文为大家进行演. 本文实例讲述了基于jquery实现日历签到功能.分享给大家供大家参考 ...

最新文章

  1. 特斯拉再出车祸,两死一伤,这次是Model S
  2. 我用分布式事务干掉了一摞简历
  3. 利用群体智慧,进行大规模的事实审核
  4. Flask无法访问(127.0.0.1:5000)的问题解决方法
  5. Mysql中表名作为参数的问题
  6. Keepalived+nginx造成流量异常
  7. [EDA]Quartus II 实验简答题
  8. shell:读取文件的每一行内容并输出
  9. 三、PHP框架Laravel学习笔记——路由参数、重定向、视图
  10. 搜索python题目的软件_Python编程快速上手——正则表达式查找功能案例分析
  11. 使用mysql悲观锁解决并发问题
  12. python基本判断语句_python两种简洁的条件判断语句写法
  13. 一个apache安装后无法启动的原因分析
  14. 047ssm在线视频教育网站源码
  15. 传智播客java测试题_传智播客java测试题
  16. 中国省市县地区代码数据库文件
  17. 新产品开发过程基本原则
  18. 鸿鹄云商平台--技术框架
  19. 有人云平台全面升级!“旧词新释”秒懂物联网云平台的奥秘
  20. html文本域 高度自适应,Javascript 文本域根据输入内容自适应高度

热门文章

  1. 爬虫第一课——教你学会使用requests库
  2. 使用python判断成绩是否合格
  3. 信息论基础(Part2)
  4. 谷歌收购边缘云初创企业MobiledgeX
  5. linux poi只有一列,poi linux 报错
  6. python程序员辛苦吗-令人羡慕!33岁程序员晒出收入和待遇,网友望尘莫及
  7. 游戏手机平台简单介绍
  8. 程序人生--拍婚纱照经历小记
  9. 怎么批量下载美拍主页视频
  10. numpy PIL tensor之间的相互转换