用JAVA代码构造一个日历

 1 package day0603;
 2 
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Calendar;
 6 import java.util.Date;
 7 import java.util.Scanner;
 8 
 9 public class Demo3 {    //2015-06-03
10     public static void main(String[] args) {
11         System.out.print("请输入日期(yyyy-MM-dd):");
12         Scanner scan = new Scanner(System.in);
13         String str = scan.next();
14         System.out.println(" ---------------------------");
15         System.out.println("星期日 星期一 星期二 星期三 星期四 星期五 星期六");
16 
17         SimpleDateFormat  simple = new SimpleDateFormat("yyyy-MM-dd");
18         Date date = null;
19         try {
20             date = simple.parse(str);
21         } catch (ParseException e) {
22             // TODO Auto-generated catch block
23             e.printStackTrace();
24         }
25          Calendar c = Calendar.getInstance();//日历当前时间,换成自定义时间
26         // c.clear();
27          c.setTime(date);
28 
29          int today = c.get(Calendar.DAY_OF_MONTH);    //获取当前天数
30 
31          c.set(Calendar.DAY_OF_MONTH, 1);  // 设置当前“天”为1号
32          int firstWeekday = c.get(Calendar.DAY_OF_WEEK); // 1号是周几?
33          int j = 1;
34             while(j < firstWeekday ) {
35                 System.out.printf("%4s", " ");
36                 j ++ ;
37             }
38          int last = c.getActualMaximum(Calendar.DAY_OF_MONTH);    //获取本月最大天数 
39 
40             for(int k = 1;k <= last;k++) {
41                    if(today == k){  // *号表示今天
42                         System.out.printf("%4s",("*"+k));
43                    }else{     
44                         System.out.printf("%4s", k);
45                    }
46                 if((j+k-1) % 7 == 0)
47                     System.out.println();
48 
49             }             
50     }
51 
52 }

 

转载于:https://www.cnblogs.com/520-1314/p/4561735.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值