• Java学习(5):显示自己电脑上的日期


    import java.util.Calendar;
    import java.util.GregorianCalendar;
    
    /**
     * 输出自己电脑上的日期
     * @author xcx
     * @time 2017年7月11日下午6:13:21
     */
    public class CalendarTest {
    	// 每周的天数
    	private static final int numbersOfWeek = 7;
    
    	public static void main(String[] args) {
    		// 初始化月份
    		int[] months = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    		String[] weeks = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
    		for (String s : weeks) {
    			System.out.print(s + "	");
    		}
    		System.out.println();
    
    		// 创建对象,得到信息
    		GregorianCalendar d = new GregorianCalendar();
    
    		// 得到这是哪一年
    		int year = d.get(Calendar.YEAR);
    		// 判断是否为闰年,如果flag为true则是闰年
    		boolean flag = false;
    		if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) {
    			flag = true;
    		}
    
    		// 得到这一天是这个月的第几天
    		int dayOfMonth = d.get(Calendar.DAY_OF_MONTH);
    		// 得到这一天是周几
    		int dayOfWeek = d.get(Calendar.DAY_OF_WEEK);
    		// 得到这是第几个月
    		int month = d.get(Calendar.MONTH) + 1;
    
    		// 推理这个月的第一天是周几
    		int temp = dayOfMonth;
    		while (temp - numbersOfWeek > 0) {
    			temp -= numbersOfWeek;
    		}
    		temp = dayOfWeek - temp;
    		int firstOfMonth = (temp + numbersOfWeek) % numbersOfWeek;
    		for (int i = 0; i < firstOfMonth; i++) {
    			System.out.print("	");
    		}
    		// 打印输出结果
    		printMonth(month, firstOfMonth, flag, dayOfMonth);
    
    	}
    
    	public static void printMonth(int month, int firstOfMonth, boolean flag,
    			int dayOfMonth) {
    		int temp = firstOfMonth;
    		if (month == 2) {// 如果是二月
    			if (flag == true) {// 如果是闰年
    				for (int i = 1; i <= 29; i++, temp++) {
    					if (i == dayOfMonth) {
    						System.out.print(i + "*	");
    					} else {
    						System.out.print(i + "	");
    					}
    
    					if (temp % 7 == 6) {// 判断是否换行
    						System.out.println();
    					}
    				}
    			} else {// 如果不是闰年
    				for (int i = 1; i <= 28; i++, temp++) {
    					if (i == dayOfMonth) {
    						System.out.print(i + "*	");
    					} else {
    						System.out.print(i + "	");
    					}
    
    					if (temp % 7 == 6) {// 判断是否换行
    						System.out.println();
    					}
    				}
    			}
    		} else {// 如果不是二月
    			if (String.valueOf(month).matches("(1|3|5|7|8|10|12)")) {// 判断这个月是否为31天
    				for (int i = 1; i <= 31; i++, temp++) {
    					if (i == dayOfMonth) {
    						System.out.print(i + "*	");
    					} else {
    						System.out.print(i + "	");
    					}
    
    					if (temp % 7 == 6) {// 判断是否换行
    						System.out.println();
    					}
    				}
    			} else {
    				for (int i = 1; i <= 30; i++, temp++) {
    					if (i == dayOfMonth) {
    						System.out.print(i + "*	");
    					} else {
    						System.out.print(i + "	");
    					}
    
    					if (temp % 7 == 6) {// 判断是否换行
    						System.out.println();
    					}
    				}
    			}
    		}
    
    	}
    }
    

      显示结果:

  • 相关阅读:
    【TCP】TCP三次握手与四次挥手
    【Spring】@PathVariable 获取带点参数,获取不全
    【异常】Caused by: java.sql.SQLTransientConnectionException: HikariPool-1
    【异常】 FlywayException:Validate failed:Migration checksum mismatch
    Eclipse------启动Server时出现弹窗Server at localhost was unable to start within 45 seconds.
    SpringBoot------集成PageHelper分页功能
    SpringBoot------集成MyBatis
    SpringBoot------thymeleaf的使用
    SpringBoot------全局异常捕获
    SpringBoot------JPA连接数据库
  • 原文地址:https://www.cnblogs.com/xcxfuryit/p/7152541.html
Copyright © 2020-2023  润新知