package com.sxt.home1;

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 Test2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入日期:如 2017-4-20");
String s = input.nextLine();
//String s = "2017-4-20";//字符串日期 DateFormat df = new SimpleDateFormat("yyyy-MM-dd");//新建日期格式化对象
try {
Date date = df.parse(s);//String-->Date
//Calendar cal = new GregorianCalendar();//方式一:新建Calendar对象 多态 GregorianCalendar:公历
Calendar cal = Calendar.getInstance();//方式二:新建Calendar对象
cal.setTime(date);//设置 Calendar 的时间
int day = cal.get(Calendar.DATE);// 记录当前几号 Calendar.DATE : 指示一个月中的某天,与 DAY_OF_MONTH 是同义词
//System.out.println(day); cal.set(Calendar.DATE, 1);//设置从一号开始
System.out.println("一\t二\t三\t四\t五\t六\t日");//打印星期
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);//获取当前日期一周中的第几天!
//System.out.println(dayOfWeek);
//(周日为第一天)一周第几天 前空格个数
// 1 6
// 2 0
// 3 1
// 4 2
// 5 3
// 6 4
// 7 5
if(dayOfWeek >= 2){
for(int i=1; i<=(dayOfWeek-2); i++){
System.out.print("\t");//打印1号之前的空格
}
}else{
for(int i=1; i<=6; i++){
System.out.print("\t");//打印1号之前的空格
}
}
int monthDays = cal.getActualMaximum(Calendar.DATE);//获取当月的最大天数
for(int i=1; i<=monthDays; i++){
if(i == day){
System.out.print("*");//如果是当前日 打印*
}
System.out.print(i+"\t");//显示一个月的每一天 int j = cal.get(Calendar.DAY_OF_WEEK);//获取当前日期一周中的第几天!
if(j == Calendar.SUNDAY){//周日即第1天换行(j==1)
System.out.println();
}
cal.add(Calendar.DATE, 1); //Calendar对象 添加指定的时间量
} } catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}

最新文章

  1. 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
  2. jQuery实现鼠标拖动改变Div高度
  3. Collection中list集合的应用常见的方法
  4. 禁用链接 &lt;a&gt;
  5. 剑指Offer:面试题23——从上往下打印二叉树(java实现)
  6. 老爷车IE8如何兼容图标字体
  7. Even Fibonacci numbers
  8. OS X Git连接github
  9. 9Patch在Android平台的应用
  10. Java中Map的使用
  11. SQL SERVER格式化字符串位数,不足补零
  12. JWPlayer 使用小记
  13. windows下安装Redis并部署成服务
  14. 史上最全的FTP网址
  15. TensorFlow迁移学习的识别花试验
  16. (二) 关于配置travis-ci持续集成python pytest测试的相关记录
  17. Numpy 矩阵
  18. python3 获取cookie解决方案
  19. Codeforces Round #135 (Div. 2) D. Choosing Capital for Treeland dfs
  20. Mybatis-generator插件,用于自动生成Mapper和POJO

热门文章

  1. beanstalkd 消息队列发邮件
  2. 【笔记】LR中设置检查点
  3. $\mathcal{Miemeng}$的病态码风计划
  4. 在C#应用中使用Common Logging日志接口
  5. 学习JDK1.8集合源码之--LinkedHashMap
  6. SQLyog12.0.9下载、安装和破解
  7. ML面试1000题系列(1-20)
  8. web前端学习(二)html学习笔记部分(8)--服务器推送事件3
  9. 由一道面试题引起的arguments的思考
  10. SpringBoot web获取请求数据【转】