根据输入的日期,控制台打印格式化日历

 package com.aming.Date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class TestViewDate {
 public static void main(String args[]){
  System.out.println("请输入一个指定的日期(2015-08-22):");
  Scanner scan = new Scanner(System.in);
  String inDate = scan.nextLine();
  //String inDate = "2016-08-20";
  //Date date = new Date();
  DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  Date date = null;
  try {
   date = format.parse(inDate);
  } catch (ParseException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  Calendar c = new GregorianCalendar();
  c.setTime(date);
  int tody = c.get(Calendar.DATE);
  c.set(Calendar.DATE,1);
  int week = c.get(Calendar.DAY_OF_WEEK);
  int maxDay = c.getActualMaximum(Calendar.DATE);
  //System.out.println(maxDay);
  //System.out.println(week);
  System.out.println("日\t"+"一\t"+"二\t"+"三\t"+"四\t"+"五\t"+"六");
  for(int i =1;i<=maxDay+week-1;i++){
   if(i<week){
    System.out.print("\t");
   }else{
    if(tody == i-week+1){
     //System.out.print("*");
     System.out.print(i-week+1+"*\t");
    }else{
     System.out.print(i-week+1+"\t");
    }
    
    
   }
   
   if(i%7==0)
   {
    System.out.println();
   }
  }
 }
}
时间: 2024-10-23 14:08:48

根据输入的日期,控制台打印格式化日历的相关文章

Java日历模型:输入一个日期,控制台显示

1 package com.zhen.calendar; 2 3 import java.text.DateFormat; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 import java.util.GregorianCalendar; 8 import java.util.Scanner; 9 10 /* 11 * 输入一个日期,控制台显示 12 *

用户输入商品生产日期和保质期(天数),通过程序计算促销日期。

* 用户输入商品生产日期和保质期(天数),通过程序计算促销日期. * 计算规则为:到保质期前14天所在周的周三为促销日. /** * 用户输入商品生产日期和保质期(天数),通过程序计算促销日期. * 计算规则为:到保质期前14天所在周的周三为促销日.控制台交互情况如图-1所示 * 思路: * 1. 用户输入生产日期和保质期(天数),就可以求出 过期日期 * 2. 通过过期日期减去14天即为促销日期所在的周 * 3. 通过所在周求出周三的日期 * 算法: * 1.通过用户输入的两个日期,转换生产日

SQL打印全年日历

数据库环境:SQL SERVER 2008R2 我之前有写过打印本月日历的SQL,里头有详细的说明.具体请参考前面的博文--生成本月日历. 全年日历只是在本月日历的基础上加了月信息,并按月份分组求得. 下面直接分享SQL /*基础数据:年初日期,全年有多少天*/ WITH x0 AS ( SELECT CONVERT(DATE, '2015-01-01') AS yearbegin , CONVERT(DATE, '2015-12-31') AS yearend , DATEDIFF(DAY,

构建完全二叉树、控制台打印二叉树

两段比较实用的代码,一个用于根据输入的数组构建一棵完全二叉树,一个用于在控制台打印二叉树,方便查看树的结构(打印二叉树的代码是在网上找的,现在找不到出处了,向作者抱歉). //首先是节点的结构 struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } }; ///构建完全二叉树,用到了队列 TreeN

mybatis3.2.3+spring3 控制台打印sql解决办法

学习mybatis的时候遇到打印不出sql 的问题,在这里做个总结: 1:首先log4j.properties这样配置: log4j.rootLogger=DEBUG,console,R log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.threshold=debug log4j.appender.console.layout=org.apache.log4j.PatternLayout

输入 一个日期 和一个整数 n,输出从该日期起经过n天以后的日期

假定输入的日期和天数合法正确. 这道题挺费力的,想了很久.我的想法是:按照年,月,日依次来减少n的数量,直到得出结果.假定输入的日期为2013年5月3日,n为722天. 首先先判断n能不能让2013年跑完,如果能,则n = n - 2013年剩下的天数 - 1.则日期到了2014年1月1日,然后再判断剩下的n能不能让2014年跑完(注意是否闰年的问题).直到n不足够让某年跑完,然后再让某年一个月一个月的跑,最后到不足跑完一个月,最后直接用当前的日期加上剩下的天数即可. 整个程序写下来要注意各种边

在控制台输入字母然后在控制台打印相应的二位数组字母,要求一行打印

1 package MyHomeWork; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 import java.util.Scanner; 6 7 /** 8 * Created by zhouyubin on 7/11/14. 9 */ 10 public class Test2 { 11 private static final char[][] print_a={{' ',' ',' ','A',' ',' ',' ','

结束日期必须大于开始日期--My97DatePicker日历控制的又一方便之处

在做时间查询时,有时需要两个日期,从一个日期到另外一个日期的那种,但是这样会有一个问题,比如后者的结束日期晚于开始日期怎么办?用JS写验证,麻烦,呵呵,用这个日历控件,可方便实现结束日期只显示开始日期之后的日期,具体的参看以下效果图: 比如我选择开始日期是7月28,那结束的日期将只能从7月28日后面的日期里来选择,省去了我们JS验证结束日期小于开始日期的麻烦. 具体代码如下: 开始日期的input id = "startDate" 结束日期的input id = "endDa

输入一个日期,求是这一年中的第几天

有两种方法进行实现 方法一: int year,month,date;  int day;  int sum=0;  boolean flag=false;  do{  Scanner scan=new Scanner(System.in);  System.out.println("请输入年份");  year=scan.nextInt();  System.out.println("请输入月份");  month=scan.nextInt();  System.