用Java编写一个日期查询程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Java编写一个日期查询程序相关的知识,希望对你有一定的参考价值。

用户随便输入一个年份,然后再输入一个数字。
系统进行判断,求出这个数字所代表的日期。
如,2010,20
即2010年1月20

P.S主要就是闰年要进行多一步的判断

果断求代码
如果是2010,32
就是2010年2月1日

参考技术A 休闲时间帮你写了一个,运行环境是JDK1.6,下面是源代码:
import java.util.*;
import java.io.*;
public class Datte

public void intt()//判断输入值的合法性

while(b)

System.out.print(" ");
try

bu = new BufferedReader(new InputStreamReader(System.in));
in = bu.readLine();
in = in.trim();

catch(IOException e)

e.printStackTrace();

if(in.equals(""))System.out.println(" No Number Init entered – try again");
else

inn = in.split(",");
try

year = Integer.parseInt(inn[0]);
day = Integer.parseInt(inn[1]);

catch(ArrayIndexOutOfBoundsException e)
catch(NumberFormatException e)
if(in.matches("[0-9]1,,[0-9]1,"))
b = false;
else
System.out.println(" ERROR! Please try again");




public void change(int y,int d)//转换和打印输出

GregorianCalendar ca =new GregorianCalendar();
ca.set(Calendar.DAY_OF_YEAR,d);
ca.set(Calendar.YEAR,y);
System.out.print("\n The Date: ");
System.out.println(ca.get(Calendar.YEAR)+"年"+(ca.get(Calendar.MONTH)+1)+"月"+ca.get(Calendar.DAY_OF_MONTH)+"日");


public static void main(String[] args)

System.out.println(" Welcome to the System!");
while(b)


System.out.print("\n Please Enter the Value(2010,32):\n");

new Datte().intt();
new Datte().change(year,day);
while(bb)

System.out.print("\n Continue or Quit(c/q):");
try

bu = new BufferedReader(new InputStreamReader(System.in));
in = bu.readLine();
in = in.trim();

catch(IOException e)

e.printStackTrace();

if(in.equals(""))

System.out.print("\n No selection entered. Please try again");
bb = true;

else if(in.equalsIgnoreCase("c"))b = true;bb = false;
else if(in.equalsIgnoreCase("q"))b = false;bb = false;
else

System.out.print("\n Invalid code!Please try again");
bb = true;


bb = true ;



private static int year;
private static int day;
private static boolean b = true;
private static boolean bb = true;
private static BufferedReader bu,br;
private String[] inn = new String[2];
private static String in;

整理一下代码就行了。
希望能对你有帮助。O(∩_∩)O哈哈~本回答被提问者采纳
参考技术B 这个…… 为什么不能是2010年2月20??

java中计算两个日期之间天数的程序设计。

 1 //用java编写出一个以下方法计算两个日期之间天数的程序设计。
 2 
 3 import java.util.regex.Matcher;
 4 import java.util.regex.Pattern;
 5  
 6 public class Demo4 {
 7     public static void main(String[] args) {
 8         try {
 9             System.out.println(相差天数("2016-11-30", "2016-5-31"));
10         } catch (Exception e) {
11             e.printStackTrace();
12         }
13     }
14      
15     private static Pattern p = Pattern.compile("(\\d{4})-(\\d{1,2})-(\\d{1,2})");
16      
17     public static int 相差天数(String a, String b) throws Exception {
18         Matcher m = p.matcher(a);
19         if (!m.matches())
20             throw new Exception();
21         int y1 = Integer.parseInt(m.group(1));
22         int m1 = Integer.parseInt(m.group(2));
23         int d1 = Integer.parseInt(m.group(3));
24         m = p.matcher(b);
25         if (!m.matches())
26             throw new Exception();
27         int y2 = Integer.parseInt(m.group(1));
28         int m2 = Integer.parseInt(m.group(2));
29         int d2 = Integer.parseInt(m.group(3));
30         return 相差天数(y1, m1, d1, y2, m2, d2);
31     }
32      
33     public static int 相差天数(int y1, int m1, int d1, int y2, int m2, int d2) {
34         return 总第几天(y1, m1, d1) - 总第几天(y2, m2, d2);
35     }
36      
37     public static int 总第几天(int y, int m, int d) {
38         int a = (y - 1) * 365 + (y - 1) / 4 - (y - 1) / 100 + (y - 1) / 400;
39         return a + 年第几天(y, m, d);
40     }
41      
42     public static int 年第几天(int y, int m, int d) {
43         return 闰年(y) ? 润年月前天数[m] + d : 平年月前天数[m] + d;
44     }
45      
46     public static boolean 闰年(int 年) {
47         return 年 % 400 == 0 || (年 % 4 == 0 && 年 % 100 != 0);
48     }
49      
50     private static final int[] 平年月天数 = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
51      
52     private static final int[] 平年月前天数 = new int[14], 润年月前天数 = new int[14];
53     static {
54         int n = 0;
55         for (int i = 1; i <= 12; i++) {
56             平年月前天数[i] = n;
57             润年月前天数[i] = i > 2 ? n + 1 : n;
58             n += 平年月天数[i];
59         }
60         平年月前天数[13] = n;
61         润年月前天数[13] = n + 1;
62     }
63 }

 

以上是关于用Java编写一个日期查询程序的主要内容,如果未能解决你的问题,请参考以下文章

java编程编写一个完成给日期增加指定天数功能的程序

求用java编写一个能够完成,对给定日期增加天数的方法

用JavaScript编写计算日期

用java编写一个 图书馆图书借阅管理系统

帮编写 java 获取星期几

求帮忙写个程序 JAVA C++都行