java心得(日历)
来源:互联网 发布:射手播放器 for mac 编辑:程序博客网 时间:2024/05/17 08:12
package lianghengrong;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class MyCalendar {
public static void main(String[] args) throws ParseException {
Scanner scan = new Scanner(System.in);
boolean flag = true;
while(flag){
System.out.println("请输入年月,格式如2017-12");
//获取字符串日期
String stringDate = scan.nextLine();
//时间格式
SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM");//格式记得看清楚
//字符串日期转换Date
Date date = sp.parse(stringDate);//需要引入异常
//获得当前日期
Calendar calendar = Calendar.getInstance();//日历不能new出来,只能静态方式
int nowOfYear = calendar.get(Calendar.YEAR);
int nowOfMonth = calendar.get(Calendar.MONTH)+1;
int nowOfDay = calendar.get(Calendar.DATE);
//设置日期
calendar.setTime(date);
//获得设置日期
int setOfYear = calendar.get(calendar.YEAR);
int setOfMonth = calendar.get(calendar.MONTH)+1;//记得加1,因为1月在java是0
int setOfDay = calendar.get(calendar.DATE);
//获取设置第一天为星期几
int dayOfWeek = calendar.get(calendar.DAY_OF_WEEK);
//获取设置月份总共多少天
int allOfDay = calendar.getActualMaximum(calendar.DAY_OF_MONTH);
//打印标题
System.out.println(setOfYear+"年"+setOfMonth+"月");
System.out.println("日\t一\t二\t三\t四\t五\t六");
//打印空格
for(int i=0;i<dayOfWeek-1;i++) {
System.out.print(" \t");
}
//打印所有的日期
for(int j=1;j<=allOfDay;j++) {
if(nowOfYear==setOfYear && nowOfMonth==setOfMonth && nowOfDay==j) {//如果设置日期等于今天日期则标志星号
System.out.print(j+"*\t");
}else {
System.out.print(j+"\t");
}
//打印换行,因为知道的只有dayofweek和j有用,所以对比之间规律j为2,9,16等换行,然后本来常规规律为7的倍数换行,而dayofweek为6换行
if((dayOfWeek-1 + j)%7 == 0) {
System.out.println();
}
}
System.out.println();
}
}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class MyCalendar {
public static void main(String[] args) throws ParseException {
Scanner scan = new Scanner(System.in);
boolean flag = true;
while(flag){
System.out.println("请输入年月,格式如2017-12");
//获取字符串日期
String stringDate = scan.nextLine();
//时间格式
SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM");//格式记得看清楚
//字符串日期转换Date
Date date = sp.parse(stringDate);//需要引入异常
//获得当前日期
Calendar calendar = Calendar.getInstance();//日历不能new出来,只能静态方式
int nowOfYear = calendar.get(Calendar.YEAR);
int nowOfMonth = calendar.get(Calendar.MONTH)+1;
int nowOfDay = calendar.get(Calendar.DATE);
//设置日期
calendar.setTime(date);
//获得设置日期
int setOfYear = calendar.get(calendar.YEAR);
int setOfMonth = calendar.get(calendar.MONTH)+1;//记得加1,因为1月在java是0
int setOfDay = calendar.get(calendar.DATE);
//获取设置第一天为星期几
int dayOfWeek = calendar.get(calendar.DAY_OF_WEEK);
//获取设置月份总共多少天
int allOfDay = calendar.getActualMaximum(calendar.DAY_OF_MONTH);
//打印标题
System.out.println(setOfYear+"年"+setOfMonth+"月");
System.out.println("日\t一\t二\t三\t四\t五\t六");
//打印空格
for(int i=0;i<dayOfWeek-1;i++) {
System.out.print(" \t");
}
//打印所有的日期
for(int j=1;j<=allOfDay;j++) {
if(nowOfYear==setOfYear && nowOfMonth==setOfMonth && nowOfDay==j) {//如果设置日期等于今天日期则标志星号
System.out.print(j+"*\t");
}else {
System.out.print(j+"\t");
}
//打印换行,因为知道的只有dayofweek和j有用,所以对比之间规律j为2,9,16等换行,然后本来常规规律为7的倍数换行,而dayofweek为6换行
if((dayOfWeek-1 + j)%7 == 0) {
System.out.println();
}
}
System.out.println();
}
}
}
阅读全文
0 0
- java心得(日历)
- Java 日历的制作 心得 写给自己
- JAVA日历(源代码)
- 打印日历(java)
- 日历小程序(java)
- j2se日历输出(java日历)任意年份
- JAVA日历
- java日历
- java 日历
- java日历
- Java日历
- Java日历
- Java日历
- java 日历
- Java 日历
- JAVA心得(一)
- java心得(Xml)
- (Java)打印指定年月的日历
- linux任务计划,linux服务管理
- Qt小程序(七)-IconEditor
- Ubuntu下vs code 中出现cannot open source file "iostream"
- SAP FIORI for iOS
- 详解js的六大数据类型
- java心得(日历)
- Retrofit网络请求+GreenDao数据缓存
- extent autoallocate分配时,表是如何分配空间
- Jquery-选择器
- kubeadm搭建kubernetes集群之三:加入node节点
- oracle-- 数据更新操作和事务操作
- SpringMVC 重定向和请求转发
- POJ 1185 炮兵阵地(状态压缩DP)
- RxJava2.0的使用代码