Java日历模型:输入一个日期,控制台显示

 1 package com.zhen.calendar;
 2
 3 import java.text.DateFormat;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Calendar;
 6 import java.util.Date;
 7 import java.util.GregorianCalendar;
 8 import java.util.Scanner;
 9
10 /*
11  * 输入一个日期,控制台显示
12  * 格式:20140808
13  */
14
15 public class CalendarMain {
16     public static void main(String[] argus)
17     {
18         System.out.println("请输入一个日期(格式:20140808):  ");
19
20         Scanner scanner = new Scanner(System.in);
21         String sTemp = scanner.nextLine();                                    //获取输入字符
22
23         CalendarMain calendar = new CalendarMain();
24         calendar.myCalendar(sTemp);
25
26         scanner.close();                                                    //关闭输入流
27     }
28
29     private void myCalendar(String sTestDate)
30     {
31         DateFormat df = new SimpleDateFormat("yyyyMMdd");                    //检查格式化
32         try{
33             Date date = df.parse(sTestDate);
34             Calendar calendar = new GregorianCalendar();
35             calendar.setTime(date);
36             int iYear = calendar.get(Calendar.YEAR);                        //获取输入的年份
37             int iMonth = calendar.get(Calendar.MONTH);                        //获取输入的月份
38             int iDate = calendar.get(Calendar.DATE);                        //获取输入的日期
39
40             calendar.set(Calendar.DATE, 1);                                    //获取输入月份1号
41             int iFirstDay = calendar.get(Calendar.DAY_OF_WEEK);                //获取输入月份1号是星期几
42             int iMaxDate = calendar.getActualMaximum(Calendar.DATE);        //获取输入月份的最大天数
43
44             /*
45             //获取本地时间
46             calendar.setTime(new Date());
47             int iCurYear = calendar.get(Calendar.YEAR);
48             int iCurMonth = calendar.get(Calendar.MONTH);
49             int iCurDate = -1;
50             if(iCurYear == iYear && iCurMonth == iMonth)
51             {
52                 iCurDate = calendar.get(Calendar.DATE);
53             }
54             */
55
56             System.out.println("-- "+ iYear +"年"+(iMonth+1)+"月"+"\n");        //月份从0开始
57             System.out.println("日\t一\t二\t三\t四\t五\t六");
58
59             int j=iFirstDay;
60             for(int i=1;i<=iMaxDate;i++)
61             {
62                 if(i == 1 && i<iFirstDay)                                    //1号时,判定前面空多少‘\t‘
63                 {
64                     int iTemp = i;
65                     while(iTemp < iFirstDay)
66                     {
67                         System.out.print(‘\t‘);
68                         iTemp++;
69                     }
70                 }
71                 String sDate = i<10 ? "0"+i : i+ "";                        //格式化日期
72                 if(iDate == i)
73                 {
74                     sDate += "**";                                            //当前输入的日期加**
75                 }
76                 System.out.print(sDate +"\t");
77
78                 if(j%7==0)                                                    //换行
79                 {
80                     System.out.println();
81                 }
82                 j++;
83             }
84         }
85         catch(Exception e)
86         {
87
88         }
89
90     }
91
92 }
时间: 2024-12-28 14:43:22

Java日历模型:输入一个日期,控制台显示的相关文章

递归【输入一个日期】返回【前12个月每月最后一天】

/// <summary> /// 递归[输入一个日期]返回[前12个月每月最后一天] /// </summary> /// <param name="date">输入日期</param> /// <param name="i">循环次数(0-11)</param> /// <returns></returns> ArrayList arr = new ArrayList

输入 一个日期 和一个整数 n,输出从该日期起经过n天以后的日期

假定输入的日期和天数合法正确. 这道题挺费力的,想了很久.我的想法是:按照年,月,日依次来减少n的数量,直到得出结果.假定输入的日期为2013年5月3日,n为722天. 首先先判断n能不能让2013年跑完,如果能,则n = n - 2013年剩下的天数 - 1.则日期到了2014年1月1日,然后再判断剩下的n能不能让2014年跑完(注意是否闰年的问题).直到n不足够让某年跑完,然后再让某年一个月一个月的跑,最后到不足跑完一个月,最后直接用当前的日期加上剩下的天数即可. 整个程序写下来要注意各种边

输入一个日期,输出该日期是星期几

假定输入日期合法正确. 先找一个参考日期,找星期天的日期为最好.我一时没想到就选了今天,星期一,也不错.然后求出输入日期与参考日期之间间隔的天数n,n为负时则表示输入日期在参考日期之前,n为正时则表示输入日期在参考日期之后.因为星期为循环星期1到星期天,又根据补码的原理,可知n = ((n % 7) +  8) % 7, 此时的n为几则是星期几.(PS:星期天用0来表示,因为我选的是参考日期是星期一所以是+8,如果选的是星期天则是+7). 1 //给定一个日期,求这个日期是星期几? 2 #inc

java编程:输入一个数字,反转输出这个数字的值

package 第四天; import java.util.Scanner; public class 数字反转 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int num=sc.nextInt(); int result=0;//存反转的数字 while(true) { int n=num%10;//取出最

输入一个日期,求是这一年中的第几天

有两种方法进行实现 方法一: int year,month,date;  int day;  int sum=0;  boolean flag=false;  do{  Scanner scan=new Scanner(System.in);  System.out.println("请输入年份");  year=scan.nextInt();  System.out.println("请输入月份");  month=scan.nextInt();  System.

Java中如何输入一个字符

今天在QQ群上看见有人问如何在Java中输入一个字符的问题.查了下有以下三种方法吧 char c = new java.util.Scanner(System.in).next().charAt(0); 这算是最常用的了吧,实际上就是输入字符串后再利用charAt(0)得到 char c = new java.util.Scanner(System.in).next().toCharArray[0]; 勉强算得上第二种吧!我以前很常用的.可以用,但是毕竟不好,浪费资源,又没有第一种简单. cha

输入一个日期判断是否正确 javascript

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

输入一个日期,判断这个日期在一年中是哪一天,是星期几,计算两个日期间的天数,使用字符串输出日期

之前写了一个博文(http://blog.csdn.net/shiwazone/article/details/45053739)是用基本函数实现的,这次使用类的设计方法,也就是面向对象的方法改写一下,并加入了日期转换成字符串的实现.这里的程序也可以解决编程珠玑习题3.4的问题. #include"calendar.h" int main() { Time t; t.initialTime(); t.Show(); t.StrShow(); Time t1; t1.initialTim

Java中如何判断一个日期字符串是否是指定的格式

判断日期格式是否满足要求 import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date; public class Test2{public static void main(String[] args) { String date_string="201609";// 利用java中的SimpleDateFormat类,指定日期格式,注意yyyy,MM大小写// 这里的日