Date
类Date表示特定的瞬间,精确到毫秒。此类中的方法有很多,不过有很多都是过时的方法,常用的方法不多.
无参构造Date()
创建Date对象并初始化此对象,以表示创建它的系统时间(精确到毫秒)。这个方法底层就是调用的的
public Date() {
this(System.currentTimeMillis());
}
package demo5;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date date = new Date();
//以指定的毫秒数进行初始化
Date date1 = new Date(1000000);
//测试此日期是否在指定日期之后。
System.out.println(date.after(date1));
//使用给定毫秒时间值设置现有 Date 对象。
date.setTime(System.currentTimeMillis());
System.out.println(date1);
System.out.println(date.getTime());
}
}
SimpleDateFormat是继承的DataFormat,他们是java.text包下的类(text包下的大部分类都是用于格式化),DateFormat是一个抽象类,所以我们在使用它的非静态方法的时候一般是使用它的子类对象,也就是SimpleDateFormat类的对象,他们的作用就是格式化和解析日期的具体类.常用的方法有两个,都是非静态的.
方法public String format(Date date)和public Date parse(String string)
package demo5;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
DateFormat df = DateFormat.getDateTimeInstance();
System.out.println(df.format(new Date()));
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(simpleDateFormat.format(date));
String strDate = "2018-4-6 10:11:15";
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
// 将文本按照给定的 simpleDateFormat1类型转换成Date类型
Date date1 = simpleDateFormat1.parse(strDate); //将字符串格式化Date
System.out.println(simpleDateFormat1.format(date1)); //将日期格式化为字符串
} catch (ParseException e) {
e.printStackTrace();
}
}
}
Calender
calendar是日历的意思,为操作年月日时提供一些方法.在对日期做加减时或者灵活的获取日期中的某个字段用此类比较合适.他是一个抽象类,有个getInstance方法类获得一个对象.这个类里面还有很多见名知意的属性:
主要通过get()方法获取
package demo5;
import java.util.Calendar;
public class ClaenderDemo {
public static void main(String[] args) {
//抽象类,getInstance方法类获得一个对象
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.get(calendar.YEAR)+"年"+(calendar.get(Calendar.MONTH)+1)+"月");
String date = "2019-4-9";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = simpleDateFormat.parse(date); //将字符串转换成Date
Calendar calendar = Calendar.getInstance();
calendar.setTime(date1); //使用给定的Date设置Calender时间
System.out.println(calendar.getTime()); //返回一个Calender时间值
//获取当前时间的字段
long time = System.currentTimeMillis();
Date date3 = new Date();
date3.setTime(time);
Calendar calendar1 = Calendar.getInstance();
calendar1.setTime(date3);
System.out.println(calendar1.get(Calendar.DAY_OF_WEEK)-1);
//now至x天后星期几
Calendar calendar2 = Calendar.getInstance();
calendar2.add(Calendar.DAY_OF_WEEK,3);
System.out.println(calendar2.get(Calendar.DAY_OF_WEEK));
}
}