文章目录
- 前言
- 获取当前日期
- 获取所有信息
- 设置日期
- 案例
- 日期信息输出(案例)
前言 这个也是经常见到的,比较重要,一方面是蓝桥杯喜欢玩,还有一方面是我们实际搞开发也要用呀,这里还是直接使用最简单最直接的API – Calendar。
获取当前日期
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
输出结果如下:
文章图片
你可以发现这里输出了大量的信息,按照常识,我们应该只需要get就可以拿到我们感兴趣的值。
但是你发现,实际上拿不到,你只能拿到固定的几个,例如我想知道今天是今年的第几天。这个值你根本拿不到。
文章图片
获取所有信息 所以为了拿到这个值,我们必须做点手脚
其实很简单,这里提供了一个get方法,例如拿到今天是今年的第几天,你可以这样操作。
文章图片
设置日期 设置日期也很简单。
calendar1.set(2000,5,4);
这里注意的是这里是从0开始的(月份)
这个set方法有相当多个重载方法
文章图片
你只管输入你想要的格式化方法即可。
案例 第一题:第几天
题目描述
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) + "周" );
}
}
推荐阅读
- 使用Vuex实现集中式存储管理应用的所有组件的状态
- Letcode算法专篇|Java之有序集合&hashMap
- 广告主视角下的信息流广告算法探索
- Spring Boot 启动时自动执行代码的几种方式,还有谁不会(?)
- EE425X 信号处理
- 图解 i++ 和 ++i 的区别,看了必懂...
- leetcode|Leetcode83(力扣83)(删除排序链表中的重复元素)
- 力扣算法|力扣算法(删除排序链表中的重复元素)
- webgl|一文聊透 JVM 内存分布、内存对齐、压缩指针!