zoukankan      html  css  js  c++  java
  • calendar

    //过时的方法:在方法上有一个删除线
    //过时的方法:getXxx():获取日期中指定的xx部分
    int year = date.getYear();
    // System.out.println(year);//距1900年的总年数
    // int month = date.getMonth();//0~11之间,0代表1月
    // System.out.println(month);//


    System.out.println(sec);
    //测试此日期是否在指定日期之前
    System.out.println(date.before(date2));
    //测试此日期是否在指定日期之后
    System.out.println(date.after(date2));

    Calendar calendar = Calendar.getInstance();//创建实例
    // System.out.println(calendar.toString());
    //获取日期的指定部分:get(int field)返回给定日历字段的值
    int year = calendar.get(Calendar.YEAR);
    int month = calendar.get(Calendar.MONTH);//0~11
    int date = calendar.get(Calendar.DATE);
    int hour = calendar.get(Calendar.HOUR);
    int min = calendar.get(Calendar.MINUTE);
    int sec = calendar.get(Calendar.SECOND);
    System.out.println(year+"-"+(month+1)+"-"+date+" "+hour+":"+min+":"+sec);
    //获取当前日期是一年中的第多少天
    int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);//一年的第N天
    int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);//一月的第N天
    //查看今天是星期几?
    int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);//一周的第N天(周日为第1天)
    System.out.println(dayOfYear+"-----"+dayOfMonth+"----"+dayOfWeek);
    //查看当月1号是一星期的第几天?
    //1.查看2016-4-17是一星期的第几天?
    calendar.set(Calendar.YEAR, 2016);
    calendar.set(Calendar.MONTH, 3);//0~11
    calendar.set(Calendar.DATE, 17);
    // System.out.println(calendar);
    int oldDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
    System.out.println("2016-4-17是一星期的第"+oldDayOfWeek+"天");
    //查看当前日期所在月份是1号是一周的第几天?
    Calendar calendar2 = Calendar.getInstance();
    calendar2.set(Calendar.DATE, 1);//2017-4-1
    int dayOfWeek2 = calendar2.get(Calendar.DAY_OF_WEEK);
    System.out.println(dayOfWeek2);


    *java.util.Date: 类 Date 表示特定的日期和时间,精确到毫秒。
    * 三个子类
    * java.sql.Date
    * java.sql.Time
    * java.sql.Timestamp
    * 常用构造函数:
    * Date():获取当前日期
    * Date(int year,int month,int date): 获取指定日期
    * year - 减 1900 的年份。
    month - 0-11 的月份。
    date - 一月中 1-31 之间的某一天
    常用的方法:
    getYear():减 1900 的年份
    getMonth():获取月份,范围0~11
    getDate():获取日期
    getHours():获取当前日期的小时数
    getMinutes():获取当前日期的分钟数
    getSeconds():获取当前日期的秒数:
    toLocaleString():以与实现相关的方式创建此 Date 对象的字符串表示形式
    before(Date when):测试此日期是否在指定日期之前。
    after(Date when): 测试此日期是否在指定日期之后。
    .....
    格式化输入日期:DateFormat和SimpleDateFormat
    java.text.DateFormat:抽象类
    java.text.SimpleDateFormat:DateFormat的子类
    常用的构造函数:
    SimpleDateFormat(String pattern)
    pattern:
    yyyy:年份 MM:月分 dd:日期 HH:小时(24进制) hh(12进制):小时 mm:分钟 ss:秒
    常用方法:
    format(Date d):将指定的日期格式化字符串
    parse(String s):将字符串转换(解析)为日期,会一个检查异常ParseException需要捕获


    package cn.zzsxt2;

    import java.util.Date;
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Scanner;

    public class TestVisualCalendar {
    public static void main(String[] args) {
    System.out.println("请输入日期(2017-1-1)");
    Scanner sc = new Scanner(System.in);
    String dateStr=sc.nextLine();
    //将日期字符串转为日期
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    try {
    Date date = (Date) dateFormat.parse(dateStr);
    Calendar calendar =Calendar.getInstance();//获取Calendar对象(实例)
    calendar.setTime(date);//将输入的日期转为Calendar对象
    //获取当前日期部分
    int day = calendar.get(Calendar.DATE);
    //将当前日期设置成当月月份的第一天
    calendar.set(Calendar.DATE,1);
    //判断输入日期的月份的第一天是星期几
    int dayOfWeek=calendar.get(Calendar.DAY_OF_WEEK);
    //获取当前月份的最大天数
    int maxDays =calendar.getActualMaximum(Calendar.DATE);
    //打印日历头信息
    System.out.println("日 一 二 三 四 五 六");
    //打印1日之前的空格(关键知道1号是星期几)
    for (int i = 1; i <dayOfWeek; i++) {
    System.out.print(' ');
    }
    for (int i = 1; i < maxDays; i++) {

    if(day==i-1){

    System.out.print("*");

    }

    System.out.print(i+" ");
    int w=calendar.get(Calendar.DAY_OF_WEEK);
    if(w==Calendar.SATURDAY){
    System.out.println();//当前日期如果是周六的话需要换行
    }
    calendar.add(Calendar.DATE,1);
    }
    } catch (ParseException e) {

    e.printStackTrace();
    }


    }
    }

  • 相关阅读:
    对类对象使用new时地址分配的情况
    c++堆与栈的简单认识
    多态公有继承
    Cookie & Session & JSP入门
    Response & ServletContext
    Java网络编程篇文章阅读顺序
    URL编程
    UDP网络编程
    TCP网络编程
    InetAddress类的使用
  • 原文地址:https://www.cnblogs.com/wangkemeng/p/6745510.html
Copyright © 2011-2022 走看看