java 使用Date类和DateFormat抽象类和Calendar抽象类实现日历

版本一:

输入时间字符串形成日历

思路:将字符串按照指定字符串格式形成时间类,再将时间类转换成日期类

String s="2019-7-7"; //创建字符串
DateFormat it =new SimpleDateFormat("yyyy-MM-dd"); //构造方法指定日期格式
Date d=it.parse(s); //通过SDF实例方法parse构造时间类

    Calendar c= new GregorianCalendar();                       //构造日期类对象
    c.setTime(d);                                                               //通过方法将时间类转换成日期类
    c.set(Calendar.DAY_OF_MONTH,1);                         //将日期号置为1,并且该月的所有元素都是1

    System.out.println("日\t一\t二\t三\t四\t五\t六");

    #System.out.println(c.get(Calendar.DAY_OF_WEEK))       //打印,输入的日期号是星期几
                                                                                                                                                                                //1是星期天,2是星期6
    for(int i=0;i<c.get(Calendar.DAY_OF_WEEK)-1;i++)     //因为号已重置为1,故为实现第一                                                                                            天在星期几之前打印的制表符个数
    {
        System.out.print("\t");
    }

    int max=c.getActualMaximum(Calendar.DATE);            //得到本月天数
    for(int i=1;i<=max;i++)           //c.getActualMaximum(Calendar.DATE)  得到输入字符串日期的月份的天数 //不在循环条件内放入方法求本月天数是因为,如果是6月30天,循环内最后一个语句将会+1,变成了7月,循环条件变成了<=31,会多打印一次
    {
        System.out.print(c.get(Calendar.DAY_OF_MONTH)+"\t");
            if(c.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY)  //如果号等于星期六,即6,换行
        {
            System.out.println();
        }

        c.add(Calendar.DAY_OF_MONTH, 1);    //使用Calendar加法方法是号每次循环+1
    }

原文地址:https://blog.51cto.com/14437184/2417900

时间: 2024-10-13 18:59:02

java 使用Date类和DateFormat抽象类和Calendar抽象类实现日历的相关文章

JAVA的Date类与Calendar类

Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Date类的使用. 1.使用Date类代表当前系统时间 Date d = new Date(); System.out.println(d); 使用Date类的默认构造方法创建出的对象就代表当前时间,由于Date类覆盖了toString方法,所以可以直接输出Date类型的对象,显示的结果如下: Sun Ma

字符串转换成java.util.date类型和将java.util.date类型转换成java.sql.date类型

//将字符串转换成java.util.date类型 DateFormat format = new SimpleDateFormat("yyyyMMDD"); Date date1 = format.parse(startDate); //将java.util.date类型转换成java.sql.date类型 skg.statStartTime = new java.sql.Date(date1.getTime()); skg.statEndTime = new java.sql.Da

JAVA的Date类与Calendar类【转】

Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Date类的使用. 1.使用Date类代表当前系统时间 Date d = new Date(); System.out.println(d); 使用Date类的默认构造方法创建出的对象就代表当前时间,由于Date类覆盖了toString方法,所以可以直接输出Date类型的对象,显示的结果如下: Sun Ma

java代码--Date类获取当前时间-格式化输出

44:52 阅读数:2299 package cn.Date; import java.text.Format; import java.text.SimpleDateFormat; import java.util.Date; /* *DateFormat 是日期/时间格式化子类的抽象类,因为他是一个抽象类,所以要有具体构造方法 *public class SimpleDateFormatextends DateFormatSimpleDateFormat * 是一个以与语言环境有关的方式来格

Java的Date类与Calendar

一.Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Date类的使用. 1.使用Date类代表当前系统时间 Date date = new Date(); 使用Date类的默认构造方法创建出来的对象就代表当前的时间,由于Date类覆盖了toString()方法.所以可以直接输出Date类型的对象,显示的结果如下: Thu Jan 11 18:32:40

Date类、DateFormat类和Calendar类

1.Date类 常用方法:long getTime():返回1970年1月1日00:00:00以来的毫秒值,把日期对象转换成毫秒值 2.DateFormat类 DateFormat类是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期和时间.日期格式化子类DateSimpleFormat允许进行格式化(日期->文本)和解析(文本->日期). DateFormat类的常用方法: String format(Date date):将一个Date对象格式化为一个日期/时间字符串 Da

Date类、DateFormat类方法调用

Date类 import java.util.Date; public class Demo01 { public static void main(String[] args) { //当前日期的毫秒值 long time=System.currentTimeMillis(); System.out.println(time); //创建当前日期对象 Date date=new Date(); System.out.println(date); //创建指定毫秒值的日期对象 Date long

Java API —— Date类

1.Date类概述 类 Date 表示特定的瞬间,精确到毫秒. 2.构造方法 public Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒). public Date(long date):分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数. 3.成员方法 public long getTime() public void setTime(long

JAVA的Date类与Calendar类(常用方法)

http://blog.csdn.net/xiaopihai86/article/details/50827945 1.用Java.util.Calender来实现      Calendar calendar=Calendar.getInstance();          calendar.setTime(new Date());        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期       cale