本帖最后由 yikwing 于 2016-5-29 13:22 编辑
- package com.yiwing.day14;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.Scanner;
- public class Demo1_VisualDate {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in); // 创建键盘录入对象
- try {
- System.out.println("输入年-月-日 (如1970-1-1) :");
- Date date = new SimpleDateFormat("yyyy-MM-dd").parse(sc.nextLine());// 将字符串对象转为Date对象
- Calendar calendar = Calendar.getInstance();// 创建日历对象
- calendar.setTime(date); // 获取当前Date的值
- int day = calendar.get(Calendar.DATE);// 获取Date的 天对象
- calendar.set(Calendar.DATE, 1); // 将 当前日期天数重置为1
- int maxDate = calendar.getActualMaximum(Calendar.DATE);// 获取月份中最大的天数
- System.out.println("\t日\t一\t二\t三\t四\t五\t六"); // 输出星期表
- for (int i = 1; i < calendar.get(Calendar.DAY_OF_WEEK); i++) { // 根据1号对应的星期几在前面置空格
- System.out.print("\t");
- }
- for (int i = 1; i <= maxDate; i++) {
- System.out.print("\t" + i);// 打印完整月历
- if (i == day) { // 在天数后置标记
- System.out.print("*");
- }
- if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {// 碰到周六就换行
- System.out.println();
- }
- calendar.add(Calendar.DATE, 1);// 天数加一
- }
- } catch (ParseException e) {
- e.printStackTrace();
- }
- }
- }
复制代码
|
|