基于Java的日历

编写一个java程序,输出一份当前所在时区当前时间的一个月的日历(1号到28/29/30/31号,以及每天对应为星期几)。

日历的源代码如下:

import java.text.DateFormatSymbols;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class rili{
    public static void main(String[] args){
        GregorianCalendar d = new GregorianCalendar();//构造一个日期
        int month=d.get(Calendar.MONTH);//当前月份
        int today=d.get(Calendar.DAY_OF_MONTH);//获得今天是几号
         String weekdays[] = new DateFormatSymbols().getShortWeekdays();//保存7个星期名 ,获取简短形式的星期字符串数组 
        for(int i=1; i<8; i++)
          System.out.print(weekdays[i]+" "); //打印出七个星期的行
          System.out.println();//换行
          d.set(Calendar.DAY_OF_MONTH, 1); //设置为当月一号
          int Firstday=d.get(Calendar.DAY_OF_WEEK);//获得1号是本周的第几天
          int t = 1;  
          while(weekdays[t] != weekdays[Firstday])//判断当月一号为星期几从哪里开始打印   

          {  
              System.out.print("     ");  
             ++t;  

          }
          while(d.get(Calendar.MONTH) ==month)
          {  
              int day = d.get(Calendar.DAY_OF_MONTH);  
              System.out.printf("%3s", day);//格式化字符串  
            if(day == today)  //判断是否是今天的日期
                  System.out.print("* ");  //在今天的日期上做标记“*”
              else  
                  System.out.print("  ");  //不是就打印空格

              if(weekdays[d.get(Calendar.DAY_OF_WEEK)] == weekdays[7]) //判断是否需要换行打印  
                  System.out.println(); //换行 
              d.add(Calendar.DAY_OF_MONTH, 1);//天数加一 
          }


       }  

    }

运行结果:
这里写图片描述
数字后面有” * “表示为当天的日期。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值