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 ...
随机推荐
- 原生javascript效果:无缝滚动
<style type="text/css"> #con {width:400px; padding:10px; margin:20px auto; text-alig ...
- About GAC
http://blogs.msdn.com/b/msbuild/archive/2007/04/12/new-reference-assemblies-location.aspx http://web ...
- ubuntu下firefox安装Adobe Flash Player
转自ubuntu系统自带的火狐(firefox)如何安装Adobe Flash 当你刚装完系统,发现打开某些网站时,提示你"需要安装flash",然后你点击确定,过了一会,提示你安 ...
- MongoDB实战指南(二):索引与查询优化
数据库保存记录的机制是建立在文件系统上的,索引也是以文件的形式存储在磁盘上,在数据库中用到最多的索引结构就是B树.尽管索引在数据库领域是不可缺少的,但是对一个表建立过多的索引会带来一些问题,索引的建立 ...
- linux命令ps aux|grep xxx详解
对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大的进程查看命令. 使用该命令 可以确定有哪些进程正在运 ...
- 快速扫描文本文件,统计行数,并返回每一行的索引位置(Delphi、C#)
由项目需要,需要扫描1200万行的文本文件.经网友的指点与测试,发现C#与Delphi之间的差距并不大.不多说,列代码测试: 下面是Delphi的代码: //遍历文件查找回车出现的次数 functio ...
- crtmpserver系列之一:流媒体概述
阅读目录 概述 流媒体系统的组成 媒体文件封装 传输协议 回到顶部 概述 所谓流媒体按照字面意思理解就是像流一样的媒体,看起来像是废话.流媒体现在司空见惯,所以一般人大概不会有疑问.事实上在流媒体还没 ...
- WIP Job > APP-WIP-25191 or Pending Close
使用 Close Discrete Jobs (FORM) 关闭工单,有一工单的状态一直为PENDING CLOSE 检查 PENDING MATERIAL TRANSACTION ,PENDING ...
- -_-#【减少 DOM 访问】“离线”更新节点,再将它们添加到树中
Minimize DOM Access javascript 之 DOM 优化 <!DOCTYPE html> <html> <head> <meta cha ...
- 【转】IOS 怎么获取外设的广播数据AdvData
原文网址:http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/73443.aspx N ...

