Java 日期时间
Date date = new Date();
boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回true,否则返回false。
案例: System.out.println(date.after(new Date (22, 6, 1)));
boolean before(Date date) 若当调用此方法的Date对象在指定日期之前返回true,否则返回false。
案例: System.out.println(date.before(new Date (22, 6, 1)));
Object clone( ) 返回此对象的副本。
案例: System.out.println(date.clone());
int compareTo(Date date) 比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。
案例: System.out.println(date.compareTo(new Date (22, 6, 1)));
int compareTo(Object obj) 若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。
案例: System.out.println(date.compareTo(new Date (22, 6, 1)));
boolean equals(Object date) 当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。
案例: System.out.println(date.equals(new Date (22, 6, 1)));
int hashCode( ) 返回此对象的哈希码值。
案例: System.out.println(date.hashCode());
long getTime( ) 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
案例: System.out.println(date.getTime());
System.out.println(System.currentTimeMillis);
void setTime(long time) 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。
date.setTime(1654322372000);
String toString( ) 把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。
案例: System.out.println(date.toString());
使用 SimpleDateFormat 格式化日期
案例: SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
System.out.println(ft.format(date));
sleep(long millis) 睡眠。
案例: Thread.sleep(1000*3);
Calendar类
Calendar c1 = Calendar.getInstance();//默认是当前日期
Calendar.YEAR 年份
Calendar.MONTH 月份
Calendar.DATE 日期
Calendar.DAY_OF_MONTH 日期,和上面的字段意义完全相同
Calendar.HOUR 12小时制的小时
Calendar.HOUR_OF_DAY 24小时制的小时
Calendar.MINUTE 分钟
Calendar.SECOND 秒
Calendar.DAY_OF_WEEK 星期几
Calendar.MILLISECOND 毫秒
创建一个指定日期的Calendar对象
Calendar.set(2022, 6 - 1, 12);
把c1对象的日期加上10,也就是c1也就表示为10天后的日期,其它所有的数值会被重新计算
Calendar.add(Calendar.DATE,10);
// 将日期格式转换成时间戳
String time = "2018-05-12 12:30:59";
Date parse = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time);
Long time1 = parse.getTime();
System.out.println(time + " >> " + time1);
//将时间戳转换成日期格式
long time3 = 1527816283000L;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time2 = sdf.format(new Date(time3));
System.out.println(time3 + " >> " + time2);
//获取上一天的开始与结束时间戳与日期
Calendar c1 = Calendar.getInstance();
c1.setTime(new Date());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
c1.set(Calendar.HOUR_OF_DAY, 0);
c1.set(Calendar.MINUTE, 0);
c1.set(Calendar.SECOND, 0);
long endTime = c1.getTime().getTime();
int size = 60*60*24*1000; //一天毫秒数
long startTime = endTime - size;
System.out.println(startTime);
System.out.println(sdf.format(startTime));
System.out.println(endTime);
System.out.println(sdf.format(endTime - 1000));