这篇文章主要介绍了java获取对应年月分日历表有需要的朋友可以来参考下

这篇文章应用java技术输入年份和月份获取该年月日历表,下面通过一段代码给大家做展示:

输入年份和月份,打印出这个月的日历表

1.1900年1月1日是星期一

2.计算输入的年份距离1900年有多少天再计算当年1月1日距这个月有多少天

3.总天数%7得出从星期几开始

注:计算机中的时间最小到1900年,此外UNIX系统认为1970年1月1日0点是时间纪元。

so,在本程序中不考了1900年以前的年份了。有兴趣的可以自己研究下。

import java.util.Scanner;

class Calender{

public static void main(String[] args){

print();

}

//打印输出

public static void print(){

Scanner sc = new Scanner(System.in);

System.out.println("请输入年份:");

int year = sc.nextInt();

System.out.println("请输入月份(1~12):");

int month = sc.nextInt();

int days = getDays(year, month);//getDays方法详细请往下看

//days+1:day是总天数,输入月份的总天数只是这个月之前的天数,

//加上1变为这个月开始的第一天

int week = days%7==0?1:days%7+1;//开始的第一天是星期几

System.out.println("日\t一\t二\t三\t四\t五\t六");

//输出第一行(第一个星期)空出来部分

for(int i=1; i<=week; i++){

System.out.print(" \t");

}

//输出第一行(第一个星期)各天

for(int i=1; i<=7-week; i++){

System.out.print(i+"\t");

}

System.out.println();

//1~12月的个月天数

int monthDay = 0;

switch(month){

case 2:

if(year%4==0&&year%100!=0 || year%400==0 ){

monthDay=29;

}else{

monthDay=28;

}

break;

case 4:

case 6:

case 9:

case 11:

monthDay=30;

break;

default :

monthDay=31;

break;

}

//输出剩下的日期,从第二周开始了,所以是8-week

for(int i=8-week; i<=monthDay; i++){

System.out.print(i+"\t");

//每七天换一行则当日期能整除7就换行

if((i+week)%7==0){

System.out.println();

}

}

}

/*

计算当年当月的距1900年1.1的总天数

*/

public static int getDays(int year, int month){

//判断这年是闰年或者平年,得到年的总天数

int day1=0, day2=0;

for(int i=1900; i

if(i%4==0&&i%100!=0 || i%400==0){

day1+=366;

}else{

day1+=365;

}

}

//得到月的总天数

for(int i=1; i

switch(i){

case 2:

if(year%4==0&&year%100!=0 || year%400==0 ){

day2+=29;

}else{

day2+=28;

}

break;

case 4:

case 6:

case 9:

case 11:

day2+=30;

break;

default :

day2+=31;

break;

}

}

return day1+day2;

}

}

以上是万年历代码实现过程,希望对大家有所帮助。

java获取当前年月日历_java万年历,获取该年月日历表相关推荐

  1. java获取当前年月日历_java如何获取当前日历?

    创建日历与读取日历,使用Calendar来做,程序如下,根据自己的需要进行改进. package CalendarDay; import java.util.Calendar; import java ...

  2. java 打印某年的日历_java打印指定年月的日历

    本文实例为大家分享了Java打印指定年月日历的具体代码,供大家参考,具体内容如下 日历如下: 程序如下: //打印指定年月的日历 public class PrintCalendar { public ...

  3. android 选择年月日历,Android_java万年历,获取该年月日历表,这篇文章应用java技术输入年份 - phpStudy...

    java万年历,获取该年月日历表 这篇文章应用java技术输入年份和月份获取该年月日历表,下面通过一段代码给大家做展示: 输入年份和月份,打印出这个月的日历表 1.1900年1月1日是星期一 2.计算 ...

  4. java获取当前年月日历_java获取当前年份、月份和日期字符串等

    Java获取当前年份.月份和日期是通过Calendar类的实例对象来获取的. 首先创建一个Calendar类的实例对象,Calendar类属于java.util包. Calendar calendar ...

  5. java获取明天的日期_java怎么获取昨天,今天,明天的日期?java中获取日期的函数

    对于初步进入java学习阶段的朋友们来说,有一个必不可少的java基础知识,也就是日期函数,下面呢就用几个Demo带领大家一起来学习一下,如何用日期函数获取昨天,今天和明天的日期? 首先是获取昨天的日 ...

  6. java 反射获取父类的字段_java反射获取父类和子类字段值、赋值

    这里将告诉您java反射获取父类和子类字段值.赋值,具体操作过程:java反射获取字段值.赋值 import org.springframework.util.ReflectionUtils; imp ...

  7. 如何获取java对象的字段名_Java如何获取类对象的字段?

    下面的示例使用反射获取类对象的字段.我们将获取字段名称及其对应的类型.下面显示了三种可用于获取对象字段的方式:Class.getDeclaredFields() Class.getFields() C ...

  8. java获取object属性值_java反射获取一个object属性值代码解析

    有些时候你明明知道这个object里面是什么,但是因为种种原因,你不能将它转化成一个对象,只是想单纯地提取出这个object里的一些东西,这个时候就需要用反射了. 假如你这个类是这样的: privat ...

  9. java获取系统运行日志文件_java – 如何获取特定的日志文件并在jenkins控制台输出中显示其内容...

    我有以下Jenkins post-build shell脚本: ssh user@my_server < service my_service stop service my_service s ...

最新文章

  1. 宜人贷YEP技术、数据沉淀背后:金融科技迎来开放赋能时代
  2. 忘记Windows 7 登录密码,3分钟我来搞定
  3. 微信小程序的wxss好难啊,记录我的搞笑界面
  4. softmax函数理解
  5. cassandra百亿级数据库迁移实践
  6. Queue:poll、offer、element、peek
  7. 线性代数带参数的线性方程组的求法示例详解
  8. FreeType(字体渲染引擎):支持多种字体格式(TTF,TTC等)
  9. 从ngrx store里selector出来的Observable,执行subscribe的单步调试
  10. 洛谷 P4011 孤岛营救问题【最短路+分层图】
  11. 字节流读数据 一次读一个字节
  12. python anaconda安装不上_Anaconda3 2.4与python 3.5安装错误(程序条目未找到; Windows 10)...
  13. mysql weblogic_weblogic连mysql的问题
  14. 修改笔记-批量去除附件售价
  15. html中的文字透明背景图片,利用css实现背景透明和文字不透明效果汇总
  16. 项目管理四要素是什么?
  17. 给图片添加指示箭头或者选中效果
  18. L2-1 特立独行的幸福 (25分)
  19. MySQL 查询本月各周
  20. python row函数_Python extmath.row_norms方法代码示例

热门文章

  1. 第七周:字符串 + 数组 + 指针
  2. 用python手刃Leetcode(1):两数之和【简单题】
  3. 成功博士的三大要素(翻译)——3 qualities of successful Ph.D. students: Perseverance, tenacity and cogency
  4. H1B政策大变,要集体涨工资了吗?
  5. Vue重复点击同一个路由报错问题解决
  6. 2021年5月16日 星期日 阴
  7. 计算机显示器文字不清楚,笔记本电脑字体显示不清晰解决方法分辨率和显卡驱动...
  8. COTS应用程序开发框架简介(三)
  9. 通过pyhton认识一等函数
  10. 工业5G概述、应用与测试床建设