Java日期处理

文章目录

  • 前言
  • 获取当前日期
  • 获取所有信息
  • 设置日期
  • 案例
  • 日期信息输出(案例)

前言

这个也是经常见到的,比较重要,一方面是蓝桥杯喜欢玩,还有一方面是我们实际搞开发也要用呀,这里还是直接使用最简单最直接的API – Calendar。

获取当前日期

        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar);

输出结果如下:

在这里插入图片描述
你可以发现这里输出了大量的信息,按照常识,我们应该只需要get就可以拿到我们感兴趣的值。

但是你发现,实际上拿不到,你只能拿到固定的几个,例如我想知道今天是今年的第几天。这个值你根本拿不到。
Java日期处理_第1张图片

获取所有信息

所以为了拿到这个值,我们必须做点手脚
其实很简单,这里提供了一个get方法,例如拿到今天是今年的第几天,你可以这样操作。
Java日期处理_第2张图片

设置日期

设置日期也很简单。

calendar1.set(2000,5,4);

这里注意的是这里是从0开始的(月份)

这个set方法有相当多个重载方法
Java日期处理_第3张图片
你只管输入你想要的格式化方法即可。

案例

第一题:第几天
题目描述
2000年的1月1日,是那一年的第1天。
那么,2000年的5月4日,是那一年的第几天?

注意:需要提交的是一个整数,不要填写任何多余内容。

这个是蓝桥杯上的一道题目,类似的还有很多

import java.util.Calendar;

public class 第几天 {

    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(2000,0,1);
        Calendar calendar1 = Calendar.getInstance();
        calendar1.set(2000,4,4);
        int i = calendar1.get(Calendar.DAY_OF_YEAR);
        int i1 = calendar.get(Calendar.DAY_OF_YEAR);
        System.out.println(i-i1+1);

    }
}

之所以选择这个显然,你也发现了,他获取的时间信息相对完整,主要是操作简单,后面我们只需要进行换算即可。

日期信息输出(案例)

class testCalendar {
    public static void main(String[] args) throws ParseException {
        Calendar c = Calendar.getInstance();
        System.out.println(c.getTime());

        System.out.println("现在是:" + c.get(Calendar.YEAR) + "年");
        System.out.println("现在是:" + (c.get(Calendar.MONTH)+1) + "月");
        System.out.println("现在是:" + c.get(Calendar.DATE) + "号");
        System.out.println("现在是:" + c.get(Calendar.DAY_OF_MONTH) + "号");
        System.out.println("现在是今年第" + c.get(Calendar.DAY_OF_YEAR) + "天");
        System.out.println("现在是星期:" + (c.get(Calendar.DAY_OF_WEEK)-1) );
        System.out.println("现在是第:" + c.get(Calendar.DAY_OF_WEEK_IN_MONTH) + "周" );
        System.out.println("现在是:" + c.get(Calendar.HOUR) + "点");
        System.out.println("现在是:" + c.get(Calendar.HOUR_OF_DAY) + "点");
        System.out.println("现在是:" + c.get(Calendar.MINUTE) + "分");
        System.out.println("现在是:" + c.get(Calendar.SECOND) + "秒");
        System.out.println("现在是:" + c.get(Calendar.MILLISECOND) + "毫秒");

//        SimpleDateFormat dc = new SimpleDateFormat();
//        dc.applyPattern("yyyy-MM-dd");
//        Date d = dc.parse("2002-2-12");
//        c.setTime(d);


        c.set(2002, 1,12);
        System.out.println("--------------------2002-1-12信息-----------------------");
        System.out.println("现在是:" + c.get(Calendar.YEAR) + "年");
        System.out.println("现在是:" + (c.get(Calendar.MONTH)+1) + "月");
        System.out.println("现在是:" + c.get(Calendar.DATE) + "号");
        System.out.println("现在是:" + c.get(Calendar.DAY_OF_MONTH) + "号");
        System.out.println("现在是今年第" + c.get(Calendar.DAY_OF_YEAR) + "天");
        System.out.println("现在是星期:" + (c.get(Calendar.DAY_OF_WEEK)-1) );
        System.out.println("现在是第:" + c.get(Calendar.DAY_OF_WEEK_IN_MONTH) + "周" );

    }
}



你可能感兴趣的:(JAVA后端,java,算法,vue)