- date类:java.util.Date。不是java.sql.Date,此类是给数据库访问的
- 原点:
- 日期类型也不例外,换句话说,一个日期,比如2020年10月1日,在计算机里,会用一个数字来代替。那么最特殊的一个数字,就是零. 零这个数字,就代表Java中的时间原点,其对应的日期是1970年1月1日 8点0分0秒 。所有的日期,都是以为这个0点为基准,每过一毫秒,就+1。
- 日期对象的创建
//获取的当前时间 System.out.println(new Date()); //原点的基础上加了5s System.out.println(new Date(5000)); //原点的基础上已经增加了多少秒 返回长整型 System.out.println(new Date().getTime()); //获取原点值 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); System.out.println(simpleDateFormat.format(new Date(0))); String s="1995-1-1 00:00:00"; String s1="1995-12-31 23:59:59"; Date date = simpleDateFormat.parse(s); Date date1 = simpleDateFormat.parse(s1); long startTime = date.getTime(); long endTime = date1.getTime(); long time = endTime - startTime; long l = (long) (Math.random() * time); startTime+=l; Date date2 = new Date(startTime); String format = simpleDateFormat.format(date2); System.out.println(format);结果
- 日期转化
-
y 代表年
M 代表月
d 代表日
H 代表24进制的小时
h 代表12进制的小时
m 代表分钟
s 代表秒
S 代表毫秒
-
字符串转化为Date类型
-
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");String s1="1995-12-31 23:59:59"; Date date = simpleDateFormat.parse(s1);需要和字符串格式相对应,否则会报转化异常。
-
-
date转化为字符串
-
String format = simpleDateFormat.format(date2);
-
-
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date startDate = new Date(0); String s1="1995-12-31 23:59:59"; Date endDate = simpleDateFormat.parse(s1); long startTime = startDate.getTime(); long endTime = endDate.getTime(); long l = endTime - startTime; Date[] dates=new Date[9]; for (int i=0 ;icollect = Arrays.stream(dates).sorted().collect(Collectors.toList()); Object[] objects = collect.toArray(); for (int i =0;i
-
- 日历类
- calendar日历类,日期计算
- add在原日期上增加年月日
- set直接设置年月日
-
//获取当前时间 Calendar instance = Calendar.getInstance(); System.out.println(instance.getTime()); Date date = new Date(97,10,12); //调整日历时间为date instance.setTime(date); System.out.println( instance.getTime()); //日期加减 instance.setTime(new Date()); System.out.println("当前日期为"+instance.getTime()); instance.setTime(new Date()); instance.add(Calendar.YEAR,1); System.out.println("明年:"+instance.getTime()); instance.setTime(new Date()); instance.add(Calendar.YEAR,-1); System.out.println("去年:"+instance.getTime()); instance.setTime(new Date()); instance.add(Calendar.MONTH,1); System.out.println("上个月:"+instance.getTime()); instance.setTime(new Date()); instance.add(Calendar.MONTH,-1); System.out.println("下个月:"+instance.getTime()); instance.setTime(new Date()); instance.add(Calendar.DATE,1); System.out.println("明天:"+instance.getTime()); //获取当前时间 instance.setTime(new Date()); //获取下下个月的时间 instance.add(Calendar.MONTH,2); //将日期调为1号 instance.set(Calendar.DATE,1); //将日期向前减少三天 instance.add(Calendar.DATE,-3); //格式定义 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); System.out.println(simpleDateFormat.format(instance.getTime()));
- calendar日历类,日期计算



