import java.util.*;
import java.text.*;

class Two
{
    public static void main(String[] args)
    {
        System.out.println("*****请输入日期(格式:2016-01)*****");
        Scanner sc = new Scanner(System.in);
        String scStr = sc.next();

//****** 提取星期 年  月
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
        Date date = new Date();
        try{
            date = sdf.parse(scStr); //输入的字符串转换成日期
        }catch(ParseException e){
        }
        SimpleDateFormat sdfE = new SimpleDateFormat("E");
        String dE = sdfE.format(date); //输入的月份1号 是星期几
        SimpleDateFormat sdfY = new SimpleDateFormat("yyyy");
        String dY = sdfY.format(date);  //提取年
        SimpleDateFormat sdfM = new SimpleDateFormat("MM");
        String dM = sdfM.format(date);  //提取月

//******  将 年 月转换为数字
        int month = 0;    //接收字符串转数字
        int year = 0;
        try{  //捕捉异常处理
            year = Integer.parseInt(dY);
            month = Integer.parseInt(dM);
        }catch(NumberFormatException e){}

        System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");

        switch(month){
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
                calendar(dE,31);
                break;
                // 30天
            case 4:
            case 6:
            case 11:
                calendar(dE,30);
                break;
                // 28 或 29天的
            case 2:
                if(year%4==0 && year%100!=0){
                    calendar(dE,29);
                }else {
                    calendar(dE,28);
                }
            break;
            default:
                break;
            
        }

    }

    public static void calendar(String e,int n){
        int a = 0;
        if(e.equals("星期日")){
            a = 0;
        } else if(e.equals("星期一")){
            a = 1;
        }else if(e.equals("星期二")){
            a = 2;
        }else if(e.equals("星期三")){
            a = 3;
        }else if(e.equals("星期四")){
            a = 4;
        }else if(e.equals("星期五")){
            a = 5;
        }else if(e.equals("星期六")){
            a = 6;
        }

        for(int k = 1; k <= a+n; k++){
            if(k<=a){
                System.out.print("*\t");
            }else {
                System.out.print(k-a+"\t");
            }
            if(k%7==0){
                System.out.println();
            }
        
        }
    }
}

运用Date日期来做日历的更多相关文章

  1. Date日期类,Canlendar日历类,Math类,Random随机数学类

    Date日期类,SimpleDateFormat日期格式类 Date  表示特定的时间,精确到毫秒 常用方法 getTime() setTime() before() after() compareT ...

  2. Date日期类 Calendar日历类 完成可视化日历

    package com.test; import java.text.DateFormat; import java.text.ParseException; import java.text.Sim ...

  3. java之Date(日期)、Date格式化、Calendar(日历)

    参考http://how2j.cn/k/date/date-date/346.html Date(日期) Date类 注意:是java.util.Date; 而非 java.sql.Date,此类是给 ...

  4. 常用类--Date日期类,SimpleDateFormat日期格式类,Calendar日历类,Math数学工具类,Random随机数类

    Date日期类 Date表示特定的时间,精确到毫秒; 构造方法: public Data() public Date(long date) 常用方法: public long getTime() pu ...

  5. 【转】Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))

    Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历)) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog. ...

  6. Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))

    Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历)) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog. ...

  7. 从.net复制源代码中国农历阵列,必要做日历

    从.net复制源代码中国农历阵列,必要做日历 const { 闰月的月份.春节的阳历日期(农历正月初一).农历的每一个月天数 } c_arrLunarInfo: array [1900 .. 2100 ...

  8. SpringMVC解决@ResponseBody返回Json的Date日期类型的转换问题

    在做项目的时候,发现后台把Date类型的属性以json字符串的形式返回,前台拿不到转换后的日期格式,始终响应回去的都是long类型时间戳. 查阅资料之后找到解决方法: 方法一(在springmvc的x ...

  9. js转换Date日期格式

    有时候做项目会用到js的date日期格式,因为Date()返回的格式不是我们需要的, Date()返回格式: Thu Mar 19 2015 12:00:00 GMT+0800 (中国标准时间) 而我 ...

随机推荐

  1. 敏捷开发的价值观(转自MBAlib)

    敏捷开发的价值观 实际上敏捷开发运动在数年前就开始了,但它正式开始的标志是2001年2月的“敏捷宣言”(Agile Manifesto),这项宣言是由17位当时称之为“轻量级方法学家”所编写签署的,他 ...

  2. [DP] The 0-1 knapsack problem

    Give a dynamic-programming solution to the 0-1 knapsack problem that runs in O(nW) time, where n is ...

  3. 解决win8 plsql无法登录

    今天安装完oracle客户端,然后打开 plsql 之后,就一个提示框,提示没有登录,后来解决方法如下: 在plsql的图标上点右键,以管理员身份运行,即可! 如果不想一直点右键执行,就图标上点右键- ...

  4. PHP漏洞全解(五)-SQL注入攻击

    本文主要介绍针对PHP网站的SQL注入攻击.所谓的SQL注入攻击,即一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患.用户可以提交一段数据库查询代码,根据程序返 ...

  5. Spring+MyBatis实践—工程配置

    初次实践:Spring+MyBatis技术搭建框架,采用Bootstrap前端开源框架. 简介: MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所 ...

  6. public void Delete(List EntityList) where T : class, new()类型参数约束

    查找后发现这是类型参数约束,.NET支持的类型参数约束有以下五种: where T : struct | T必须是一个结构类型 where T : class T必须是一个类(class)类型 whe ...

  7. [jobdu]二维数组中的查找

    http://ac.jobdu.com/problem.php?pid=1384 基本思路很简单,从最右上角找起. 九度的OJ做得还是不太行啊.必须要int main()才行,这道题时间卡得太紧,用c ...

  8. asp.net控件(1)Repeater

    1. 通过Repeater和数据源创建表格 <AlternatingItemTemplate>属性可以控制单元格交替显示不同的背景颜色 <table width=" sty ...

  9. ActionBar官方教程(2)选主题让应用支或不支持ActionBar及支持ActionBar的应用如何隐藏和显示

    Adding the Action Bar As mentioned above, this guide focuses on how to use the ActionBar APIs in the ...

  10. Oracle Form 特殊的默认值 $$variables$$

    Oracle Forms 提供了六个特殊的系统变量,均为提供日期和时间的信息的变量: •$$DATE$$ •$$TIME$$ •$$DATETIME$$ •$$DBDATE$$ •$$DBTIME$$ ...