JAVA后端|Java日期处理


文章目录

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

前言 这个也是经常见到的,比较重要,一方面是蓝桥杯喜欢玩,还有一方面是我们实际搞开发也要用呀,这里还是直接使用最简单最直接的API – Calendar。
获取当前日期
Calendar calendar = Calendar.getInstance(); System.out.println(calendar);

输出结果如下:
JAVA后端|Java日期处理
文章图片

你可以发现这里输出了大量的信息,按照常识,我们应该只需要get就可以拿到我们感兴趣的值。
但是你发现,实际上拿不到,你只能拿到固定的几个,例如我想知道今天是今年的第几天。这个值你根本拿不到。
JAVA后端|Java日期处理
文章图片

获取所有信息 所以为了拿到这个值,我们必须做点手脚
其实很简单,这里提供了一个get方法,例如拿到今天是今年的第几天,你可以这样操作。
JAVA后端|Java日期处理
文章图片

设置日期 设置日期也很简单。
calendar1.set(2000,5,4); 这里注意的是这里是从0开始的(月份)

这个set方法有相当多个重载方法
JAVA后端|Java日期处理
文章图片

你只管输入你想要的格式化方法即可。
案例 第一题:第几天
题目描述
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); } }

【JAVA后端|Java日期处理】之所以选择这个显然,你也发现了,他获取的时间信息相对完整,主要是操作简单,后面我们只需要进行换算即可。
日期信息输出(案例)
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) + "周" ); } }

    推荐阅读