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. Java for LeetCode 219 Contains Duplicate II

    Given an array of integers and an integer k, find out whether there there are two distinct indices i ...

  2. Mathematics:GCD & LCM Inverse(POJ 2429)

    根据最大公约数和最小公倍数求原来的两个数 题目大意,不翻译了,就是上面链接的意思. 具体思路就是要根据数论来,设a和b的GCD(最大公约数)和LCM(最小公倍数),则a/GCD*b/GCD=LCM/G ...

  3. HTML超链接

    打开网页在 想要查看的位置右键单击   审查元素  则可以查看代码    点击图片右键单独打开  则可以查看图片位置 一.超链接 a标签   <a href="地址"> ...

  4. Android 支付宝以及微信支付快速接入流程

    简介 随着移动支付的普及,越来越多的App采用第三发支付,在这里我们以支付宝为例,做一个快速集成! 一.Android快速实现支付宝支付 1.首先,我们需要前往支付宝开放平台,申请我们的支付功能:ht ...

  5. Single Number II

    题目: Given an array of integers, every element appears three times except for one. Find that single o ...

  6. [Android Pro] Android Fragment getActivity返回null解决

    overide FragmentActivity  onSaveInstanceState method like this. @Override public void onSaveInstance ...

  7. Linux进程的前后台切换

    一.Linux前后台切换的相关命令:   1.&  在命令的后面加上这个符合,让命令进程在后台运行  例如: #ping 127.0.0.1 &        // 此时命令ping ...

  8. php连接sql server

    这两天有个php连接sql server的项目,顺便学习学习sql server  说明: 1:PHP5.2.x本身有个php_mssql.dll的扩展用来连接Sql server,但是这个dll只是 ...

  9. IOS开发中有用的第三方库

    #Objective-C中最受瞩目库 [链接](https://github.com/languages​​/Objective-C/most_watched) * [three20](https:/ ...

  10. 在帝都的Android面试感想

    #第一次面试赤子城Android开发实习生 关于面试的表现和感想 1.没有准备充分就去面试(这是大忌,也就直接决定了结果) 我去面试Android,但是却不知道很多关于Android的基础知识,就是明 ...