日期类(jdk8之前)

1.date

1>   Date的空参构造方法,其代表的是当前的时间节点
 

Date d1=new Date();
//在这里,使用的是date的空参构造方法,其中封装的是现在的具体时间
//直接对于d1进行打印,会直接显示出来现在的具体时间
//由此可以知道,在Date当中,已经是对于Tostring方法进行过了相应的重写,从而直接展示出来其中的具体内容,详细情况

2>  有关date当中存在的一些方法:

//      1:String getTime()
System.out.println(d1.getTime());
//展示出来的是距离c语言出生的时候到现在已经是过去了多少毫秒
/*
        2.void setTime(long num)
        在其中需要输入一个long类型的数值,同时的,没有返回值

 */
d1.setTime(0L);
System.out.println(d1);
//展示出来的是对于c语言出生到这个set所设定的过去了多长的时间 1000L就是对于起源时间过去了1秒

        //这一点上,其实跟date的含参构造方法是一样的用途
Date d2 =new Date(0L);
System.out.println(d2);
//最终的结果也是一个相应的源时间节点

2.Simpledate(时间格式化)

   1>空参的构造方法,使用默认的系统日期格式化

           
 SimpleDateFormat simple =new SimpleDateFormat();

Date d1=new Date();

System.out.println(d1);
//没有进行时间格式化的结果  Sun Nov 26 11:43:10 CST 2023

System.out.println(simple.format(d1));
//进行过时间格式化的结果  23-11-26 上午11:43
  2>使用含参的构造方法
        
SimpleDateFormat simple1 =new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss  E  a");

        //对于时间格式化的具体内容,可以到相应的API文档当中进行寻找
//E代表星期,a代表的是上午下午还是晚上或者是凌晨的时间节点

Date d2 =new Date();

System.out.println(simple1.format(d2));
***将日期字符串转化成为相应的date,也可以使用simpleDateFormae的方法来进行完成

String date =in.next();
SimpleDateFormat simple2=new SimpleDateFormat("yyyy年MM月dd日");
Date parse = simple2.parse(date);
System.out.println(simple2.format(parse));

3.Calender类

有关日历Calender的使用,以及其中含有的一些方法
Calender本身是一个抽象类,所以在创建的时候相当于使用了一个多态的存在
使用父类的同时,对于子类当中Calender的getIntstance方法进行调用

    方法:
        1:static int get(int num): 获取Calender当中具体内容的方法,返回值为int类型

            tips:在输入其中的数字的时候,建议直接调用Calender当中的静态方法,而不是记数字

                方式:使用Calender当中的静态方法,Calender.需要获取的具体内容等等
               
 public static void getmethod(){
    Calendar c =Calendar.getInstance();
    System.out.println(c);
    //Calender本身含有许多的数值,其中包括了年月日以及星期等等,如果需要使用这些数据,那么就要对其中具体的内容进行调用
    int YEAR = c.get(Calendar.YEAR);
    System.out.println(YEAR);
    //获取年份
    int MOUTH = c.get(Calendar.MONTH);
    System.out.println(MOUTH+1);
    //获取月份
    //需要注意的一点是,在获取月份的时候,最开始的一月,是从0开始进行数的,所以需要在结果的时候加1;

    int WEEKDATE = c.get(Calendar.DAY_OF_WEEK);

    char[] weekindex ={' ','日','一','二','三','四','五','六',};
    //根据相应的索引来寻找对应的星期
    //同时,要注意的一点是,数组当中是从0开始进行数的,当时在星期数中是只有从1开始进行数数的,所以应当让第一个索引位置的数直接是一个空的字符
    System.out.println(weekindex[WEEKDATE]);
    tips:
        在外国人眼中,每周的第一天并不是周一,而是周日
        排序:
            日  一  二  三  四  五  六
            1   2   3   4  5   6  7

            对此,我们可以采用数组的方式,让其中的数字转变成为相应的星期天数
        2:static void set(Calender ,int num)
            输入自己需要进行修改的具体内容,年,或者月日等等(都需要调用Calender当中的方法)


    
public  static void setmethod(){
    Calendar x =Calendar.getInstance();

    x.set(Calendar.YEAR,2050);
    int YEAR = x.get(Calendar.YEAR);
    System.out.println(YEAR);
    //指定需要进行修改的数值,可以是年月日也可以是一个星期
    //结果:2050
    x.set(2050,3,2);
    //既可以修改制订的一个数值,也可以对于全部的值进行修改,年月日等等
    System.out.println(x.get(Calendar.YEAR)+" "+x.get(Calendar.MONTH)+" "+x.get(Calendar.DAY_OF_MONTH));
}
            另一方面,我们也可以使用一次性修改全部的内容
            static void set(year,mouth,day),也可以修改具体的时间,时,分等等
            
            
        3:static void add(Calender ,int num)
            输入自己具体需要进行增加或者减去的日期,后面输入需要增加多少
    
public static void addmethod(){
        Calendar c=Calendar.getInstance();
        c.add(Calendar.YEAR,1);
        int addYEAR = c.get(Calendar.YEAR);
        //对于自己需要进行修改的值就行增添或者是减少,并且跟set方法是一样的,没有任何的返回值(void)
        System.out.println(addYEAR);
    }

     

  类型转化:
       有关对于Calender以及Date之间的相互转化
            从Date-->Calender
                static void setTime(Date date)
                能够将相应的日期类型date直接转化成为Calender的类型





test1:
 

//输入一个日期字符串,并求出其是这一年的第几天
  Scanner in=new Scanner(System.in);
  String x =in.nextLine();

  SimpleDateFormat simple =new SimpleDateFormat("yyyy-MM-dd");
  Date parse = simple.parse(x);

  Calendar y =Calendar.getInstance();
  //能够将date类型转换成为一个Calender的类型
  y.setTime(parse);
  y.add(Calendar.MONTH,1);
  System.out.println(y.get(Calendar.DAY_OF_YEAR));


test2:

//课堂检测:判断2025年3月1日是否是疯狂星期四
        Calendar c = Calendar.getInstance();

        //需要注意的一点,其中的月份,是从0开始当作是第一个月的,所以在这里的三月实际上应该是用 2 来进行替换
        c.set(2050, 2, 1);
        int Weekdate = c.get(Calendar.DAY_OF_WEEK);
        char[] Weekindex = {' ', '日', '一', '二', '三', '四', '五', '六' };
        if (Weekindex[Weekdate] == '四') {
            System.out.println("是疯狂星期四");
        } else {
            System.out.println("不是疯狂星期四");
        }
    }

                
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值