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