可视化日历(2)
2016-02-09 16:43
176 查看
package chengbaoDemo; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; /** * SimpleDateFormat *它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期) * *可以化日历 * */ public class Test02 { public static void main(String[] args) { for (int i = 1; i <= 12; i++) { printOneMonth(2016, i); System.out.println("\n"); } } /** *打印每个月的样式表<br> *@param int year *@param int month *@param int month *@param boolean isSearch <br> * true 将要查找的天标记 * false 不标记 */ public static void printOneMonth(int year, int month, int day, boolean isSearch) { System.out.println(month + "月"); //将输入数字,字符串格式化 String dStr = String.format("%4d%02d%02d", year, month, day); //(1)格式化 DateFormat DateFormat df = new SimpleDateFormat("yyyyMMdd"); Date d = null; try { //将字符串解析为时间 d = df.parse(dStr); } catch (ParseException e) { e.printStackTrace(); } //(2)日期字段的含义Calendar Calendar c = new GregorianCalendar(); c.setTime(d); //获取所要查找的那一天 int srcDay = -1; if (isSearch) srcDay = c.get(Calendar.DAY_OF_MONTH); //本月总天数 int days = c.getActualMaximum(Calendar.DAY_OF_MONTH); //设置日期为1号 c.set(Calendar.DATE, 1); //获取1号是周几 int dayOfWeek = c.get(Calendar.DAY_OF_WEEK); //打印表头 System.out.println("日\t一\t二\t三\t四\t五\t六"); //打印每月第一天前的空格 for (int i = 1; i < dayOfWeek; i++) { System.out.print("\t"); } //打印一个月的情况 for (int i = 1; i <= days; i++) { //标注所要查找的那天 if (srcDay == i) { System.out.print("#"); } dayOfWeek = c.get(Calendar.DAY_OF_WEEK); System.out.print(i + "\t"); //每到周六换行 if (dayOfWeek == 7) { System.out.println(); } c.add(Calendar.DATE, 1); } } /** *重载<br> *打印每个月的样式表<br> *@param int year *@param int month *@param int month *@param boolean isSearch <br> * false 不标记 */ public static void printOneMonth(int year, int month) { printOneMonth(year, month, 1, false); } }
相关文章推荐
- ZOJ1002
- LeetCode题解:Single Number
- 小猴子下落
- MyEclipse 常用项行号、字体大小使用设置
- ADO.NET之判断重复记录
- 学习记录 - 2
- LeetCode题解:Candy
- 修改ubuntu DNS的步骤/wget url报错: unable to resolve host address的解决方法
- MySQL_使用时遇到的问题汇总
- 通过PackageManager启动/卸载已安装的应用
- 1009. Product of Polynomials (25)
- iOS之UI--CAGradientLayer
- (四)迭代器,生成器及其他相关概念(只是罗列了些概念,而且对迭代器并没有理解透,有待进一步总结)
- FlatBuffers初探
- libecb.h
- 机器学习特征选择之卡方检验与互信息
- hibernate 没有实体类 查询
- ScrollerLayout
- Android开发笔记(六十)网络的检测与连接
- Mina airQQ聊天 服务端篇(二)