可视化日历【Java,有详细的注释】
2015-05-31 19:17
435 查看
package cn.bla.test; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Scanner; /** * VisualCalender ===可视化日历=== * @author 杨润康 * @category java * @since 2015-5-31 * @version 1 */ public class VisualCalender { public static void main(String[] args) throws Exception { Scanner input = new Scanner(System.in); System.out.println("请输入日期:<格式:2015-5-5>"); String time=input.next();//用户输入的字符串 //具体的处理判断 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date = dateFormat.parse(time);//将字符串解析成日期类型 //日历类上场 Calendar calendar = new GregorianCalendar(); calendar.setTime(date);//将日期放进日历里面去,然后对日历进行操作,实际上就是对日期进行操作 //因为日历都是从一开始的,所以先将用户输入的日期的日部分变为1 calendar.set(Calendar.DATE, 1); //得到当前月份的一号,是在一周之内的周几 (得到的数要-1 ,因为老外的是从周日开始一周的生活的,所以比我们早了一天) int actualDayInAWeek=calendar.get(Calendar.DAY_OF_WEEK)-1; //得到当前月份有多少天DATE || DAY_OF_MONTH int actualDaysInMonth=calendar.getMaximum(Calendar.DAY_OF_MONTH); //现在处理在具体的某一号的后面做个标记 //先前为了处理月份的一号是在一周的星期几时,曾把它设为1,现在把它恢复过来,为下面的标记做准备 String getOldDate=dateFormat.format(date); Date oldDate = dateFormat.parse(getOldDate); calendar.setTime(oldDate); //取月份中的具体的某一号 int day=calendar.get(Calendar.DATE); //程序的可视化部分 System.out.println("\t\t===可视化日历==="); System.out.println("日\t一\t二\t三\t四\t五\t六"); for(int i=1;i<=actualDaysInMonth;i++){ //让1号在具体的周几的位置,然后在这个位置之前是不打印任何字符的,只打印空格 if(i<=actualDayInAWeek){ System.out.print("\t"); continue; } if((i-actualDayInAWeek)==day){//在具体的某一号的后面做#个标记 System.out.print((i-actualDayInAWeek)+"#\t"); continue; } System.out.print((i-actualDayInAWeek)+"\t");//(i-actualDayInAWeek)在周X的位置,是从一开始打印的 if(i%7==0){ System.out.println(); } } } }
相关文章推荐
- Java NIO 02=====Channel
- qq聊天机器人 群发工具 (java版) (二)
- 启动Eclipse 弹出Failed to load the JNI shared library 的解决方法
- Java NIO 01=====概述
- Java NIO 00=====开篇
- java 访问活动目录代码
- JAVA导出CSV文件时产生乱码的解决方法
- JVM内存管理:深入Java内存区域与OOM
- 初学Hibernate
- 疯狂Java学习笔记(64)------------线程转换
- Java获取路径方法&相对路径读取xml文件方法
- 用Struts2标签实现Map的迭代
- JAVA反编译工具jad
- Spring2.5学习1.3_三种实例化bean的方式
- struts2表单提交的乱码的问题的解决
- eclipse ctrl + H 搜索问题 来自好搜
- 出现java.lang.NoSuchFieldException resourceEntries错误的解决方法
- Spring2.5学习1.4_bean的作用域及其实例化时期
- 用一重循环实现排序java
- Myeclipse2014破解教程及软件下载