System.out.println("请输入日期(按照格式:2030-3-10):");
//在控制台输入
//String str="2016-9-26";
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
//将字符串转为日期,记住 abstract class DateFormat,所以要 new 子类
DateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd");
//导入包的时候记住 java.util.Date;
Date date=dateformat.parse(str);
//将日期转为日历 记住 abstract class Calendar
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
/*要实现一个日历的功能
* 1.首先要知道这个月份共有多少天
* 2.知道每个月的一号在星期几,并且知道外国和中国的日历不同,比如外国的每周第一天是我们的星期日
* 我们可以把控制台拿到的日历进行转化,我们把每次拿到的日历重新设置为当月的第一天,
* 这样我们就可以知道每月一号前有几个空格符
*

* */
//获取本月最大的天数
int maxday=calendar.getActualMaximum(Calendar.DATE);
System.out.println("最大的天数 maxday:"+maxday);
//把日期设置为一号,并且找出是本周的第几天,并且测试一下
calendar.set(Calendar.DATE, 1);
int day=calendar.get(Calendar.DATE);
int weekofday1=calendar.get(Calendar.DAY_OF_WEEK);
/*int day=calendar.get(Calendar.DATE);
System.out.println(day);*/


System.out.println("日\t一\t二\t三\t四\t五\t六");
//要把一号置为所在的星期几,所以要先空格
for(int i=1;i<weekofday1;++i){
System.out.print("\t");
}

for(int i=1;i<=maxday;++i){
if(i==day){
System.out.print(i+"*"+"\t");
}else{
System.out.print(i+"\t");
}
//注意是 print 不是println

//每次到了星期六就要换行,如果拿到每周的第七天就是星期6==Calendar.DAY_OF_WEEK,就换行
//但是要注意我们设置的日期已经为一号了,所以每次循环结束前要增加日期的天数,要么始终为一号
int weekofday=calendar.get(Calendar.DAY_OF_WEEK);
if(weekofday==Calendar.SATURDAY){
System.out.println();
}
calendar.add(Calendar.DATE,1);
}

 

java 日历代码实现的更多相关文章

  1. pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页

    java 后台代码实现分页 demo 实力 自己写的 标签分页 package com.cszoc.sockstore.util; import java.util.HashMap;import ja ...

  2. 经典KMP算法C++与Java实现代码

    前言: KMP算法是一种字符串匹配算法,由Knuth,Morris和Pratt同时发现(简称KMP算法).KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的.比 ...

  3. 常用 Java 静态代码分析工具的分析与比较

    常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...

  4. 分享:根据webservice WSDL地址自动生成java调用代码及JAR包

    分享:根据webservice WSDL地址自动生成java调用代码及JAR包使用步骤:一.安装java 并配置JAVA_HOME 及 path二.安装ANT 并配置ANT_HOME三.解压WsdlT ...

  5. FastDFS搭建及java整合代码【转】

    FastDFS软件介绍 1.什么是FastDFS FastDFS是用C语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高 ...

  6. [原创]Java静态代码检查工具介绍

    [原创]Java静态代码检查工具介绍 一  什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...

  7. 最近开始研究PMD(一款采用BSD协议发布的Java程序代码检查工具)

    PMD是一款采用BSD协议发布的Java程序代码检查工具.该工具可以做到检查Java代码中是否含有未使用的变量.是否含有空的抓取块.是否含有不必要的对象等.该软件功能强大,扫描效率高,是Java程序员 ...

  8. java集合框架之java HashMap代码解析

     java集合框架之java HashMap代码解析 文章Java集合框架综述后,具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 源自http://www.codeceo.com/arti ...

  9. 在Jmeter中使用自定义编写的Java测试代码

    我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java ...

随机推荐

  1. 针对跑MySQL的Linux优化【转】

    本文来自:http://www.mysqlsupport.cn/linux-performance-tuning-tips-mysql/ 因为很多MySQL的生产环境都在Linux下,我决定指出一些L ...

  2. oracle触发器 ORA-01722:invalid number 解决方法

    问题在于,远程库是nvarchar2类型,本地是number类型,同步的时候有问题. create or replace trigger tri_org_department after insert ...

  3. 【vs2010调试】当前不会命中断点 源代码与原始版本不同

    解决方案:全选CPP文件内容,选择 “编辑”-“高级”-“设置选定内容的格式”,保存,重新编译.

  4. 一次工作中用到的Highcharts.Chart

    一般动态获取图表信息都是通过ajax交互传送数据. 这次是一次性从后台返回集合后,直接在页面取数据绘制图表 引用js <script type="text/javascript&quo ...

  5. Office文件的Open Xml 格式

    获取Office文件的Open Xml格式文件的步骤如下: 1.修改想要得到OpenXml格式文件的文件后缀名为.rar. 2.解压即可得到. 此时可以对xml文件进行操作,要想再次把这已经解压后的文 ...

  6. web前端打印总结

    资料: http://blog.5ibc.net/p/39927.html 正文: 简单的说就是映入两个css文件 <link/> <link/> 每个css文件都有一个属性是 ...

  7. centos7 php7 httpd

    安装php之前,要先安装几个 1.下载php源码:http://cn2.php.net/distributions/php-7.0.6.tar.gz. 2.然后使用命令:tar -zxvf php-7 ...

  8. mvn命令备忘

    转换成eclipse项目mvn eclipse:eclipse 跳过testmvn install -Dmaven.test.skip=true mvn clean install -DskipTes ...

  9. HTML5学习之WebWork多线程处理(八)

    多线程技术在服务端技术中已经发展的很成熟了,而在Web端的应用中却一直是鸡肋 在新的标准中,提供的新的WebWork API,让前端的异步工作变得异常简单. 使用:创建一个Worker对象,指向一个j ...

  10. .NET MVC4 数据验证Model(二)

      一.概述 MVC分为ViewModel.Control.View,对数据的封装MVC做的很好,确实是不错的WEB框架,针对MVC的ViewModel封装的也是相当的不错,最近做一个MVC的项目,采 ...