Java-日历表
效果图
import java.util.*;
import java.text.*;
class demo
{
public static void main(String[] args)
{
//创建一个输入对象
Scanner scan = new Scanner(System.in);
//以1900-1-1为时间参考点
String str = "1900-1-1";
System.out.println("请输入年月(年-月):");
//输入
String str1 = scan.next(); //拼接一个表示日的字符串+"-1"
String str2 = str1 + "-1"; //调用此方法,会返回一个总的天数 总天数 = 现在的时间(yyyy-mm-dd) - 参考时间(1900-1-1)
long days = charge(str,str2); //总的天数对7取余+1,就得到每个月的1号是星期几
long week = days%7+1; //截取字符串,会把输入的月份截取出来
String str4 = str1.substring(5); //把截取出来的月份转换成int类型的数据
int num = Integer.valueOf(str4); //截取年份,用来判断是否是闰年
String str5 = str1.substring(0,4); //把截取的年份转换成int类型的数据
int num1 = Integer.valueOf(str5); //调用此方法会返回你输入的月份的天数
int dayNum = number(num,num1); //用于打印日历表
print(week,dayNum);
} public static int number(int num,int num1){
int day = 0;
switch (num)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
case 2:
{
//判断是否为闰年
if ((num1%4 == 0 && num1%100 != 0) || num1 % 400 ==0)
{
day = 29;
}else {
day = 28;
}
}
break;
}
return day;
}
//打印日历表
public static void print(long b,int c){
System.out.println("星期一\t"+"星期二\t"+"星期三\t"+"星期四\t"+"星期五\t"+"星期六\t"+"星期日");
for (int i = 1; i < b ; i++)
{
if (i % 7 == 0)
{
System.out.println();
}
System.out.print(" *"+"\t");
}
int d=0;
for (int i = (int)b ; i < c+(int)b ; i++ )
{
d++;
if ((i-1) % 7 == 0 && i != 1)
{
System.out.println();
}
System.out.print(" "+d+"\t");
}
}
//计算两个时间差,返回天数
public static long charge(String date1,String date2){
//做时间差
//将String转为Date做计算yyyy-mm-dd是格式
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
long charge = 0;
try{
Date d1 = sd.parse(date1);
Date d2 = sd.parse(date2);
//时间也是以毫秒为单位。
charge = (d2.getTime() - d1.getTime()) / (1000*24*60*60);
}catch(ParseException e){
System.out.println(e);
}
return charge;
}
}
Java-日历表的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- Java万年历,输入年月获取该年月日历表
//输入年份和月份,打印出这个月的日历表 /* 1.1900年1月1日是星期一 2.计算输入的年份距离1900年有多少天再计算当年1月1日距这个月有多少天 1) 3.总天数%7得出从星期几开始 注:计 ...
- java 简易日历表
在页面上输出1900年以后任意一年的简易日历表 package text3; import java.util.Scanner; public class MyCalendar { public st ...
- Java实现指定年份月份的日历表
输入指定的年份与月份,看这个月的日历表 package Xueying_Liu; import java.util.Scanner; public class rilibiao { public st ...
- java 输入年月,获取日历表
/* 做日历作业: 输入一个时间如: 2016-11 就显示2016年11月的日历显示 */ import java.util.*; class calendar { public static vo ...
- Java打印日历表
今天来吐槽一下Java的Calendar类的使用问题,反正我是弄了半天. 首先是,遇到一个问题,输入年份和月份,需要打印这个月的日历,网上有不少代码,但我用了几个感觉都不是很靠谱. 然后经过一番探索, ...
- 用java制作日历,想休息的时候看一看离周末还有几天!
呀!忙碌的每一天,都忘记了明天就是我们愉快周末了.今天没有朋友的闲聊的话,明天处在绷紧的状态呢!还有朋友提到,所有今天来跟大家分享一下用java来编写日历表,累了想休息了的时候,打开看看,还有几天到周 ...
- 《Java技术》第一次作业——Java语言基础
学习总结 Scanner类实现基本数据输入的方法 Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配.然后可以使用不同的 next 方法将得到的标记转换为不同类型的值. ...
- 专业英语词汇(Java)
abstract (关键字) 抽象 ['.bstr.kt] access vt.访问,存取 ['.kses]‘(n.入口, ...
- java常用英语单词
abstract (关键字) 抽象 ['.bstr.kt] access vt.访问,存取 ['.kses]'(n.入口,使用权) algorithm n.算法 ['.lg.riem] annotat ...
随机推荐
- 如何将CELERY放到后台执行?
在作正式环境,这个是必须的. 于是找了两小时文档, 以下这个方法,相对来说好实现. 就是要注意supervisord.conf的目录存放位置. 放在DJANGO的PROJ目录下,是最佳位置. http ...
- 李洪强漫谈iOS开发[C语言-036]-C语言前四天学习小结
- ANDROID_MARS学习笔记_S01原始版_004_TableLayout
1.xml <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android ...
- 程序不稳定是因为C++基础不扎实
最近开发的程序,逻辑上都实现了,但是感觉运行不稳定,程序时不时崩溃(不是逻辑运行不正确),至少找出2个错误: 情况1:char* szRemoteReal = new char[MAX_LENGTH] ...
- 展讯CEO:低毛利生存 由中低端转向高端
最近一两年来,芯片市场的热闹有从细分.垂直的圈子向整个大社会场景发酵的迹象. 备受各界关注的高通发垄断案,国家大基金的成立,以及展讯.锐迪科等私有化等等,都意味着这个行业的热度在快速上升.这里面既有芯 ...
- Spring学习笔记(二)
1.Spring MVC 返回json数据 <bean class="org.springframework.web.servlet.mvc.annotation.Annotation ...
- 【HDOJ】1003 Max Sum
最开始使用递归DP解,stack overflow.化简了一些,复杂度为O(n)就过了. #include <stdio.h> int main() { int case_n, n; in ...
- Webform——服务器控件与客户端控件
Webform,即BS,浏览器应用. 关于服务器和客户端,在Webform 中, 服务器就相当于后台(也就是编辑C#代码的地方), 客户端相当于前台(也就是Html页面). 用法: ①如果想在服务器 ...
- bzoj2763
首先是稀疏图,不难想到dij+heap 观察题目可以知道,0<=k<=10; 所以比较裸的想法就是,d[i,j]表示已经免费了i条线路后到达j的最短路 容易得到 d[i,j]:=min(d ...
- jasperreports-5.6 + jaspersoftstudio-5.6 生成pdf 文件中文无法正常显示问题
jrxml字段属性设置: <textElement> <font fontName="宋体" pdfFontName="STSong-Light&quo ...

