Date日期处理类
- 在Java里提供有java.util.Date的类,这个类如果直接实例化就可以获取当前的日期时间;
import java.util.Date;
public class dateApi {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
}
}
- Date类中的构造方法:
public Date() {
this(System.currentTimeMillis());
}
public Date(long date) {
fastTime = date;
}
- 通过构造方法可以分析出:Date类中只是对long数据的一种包装,所以Date类中一定提供有日期与long数据类型之间转换的方法:
- 将long转为日期:public Date(long date)
- 将Date转为long:public long getTime()
//观察Date与long之间的转换
import java.util.Date;
public class dateApi {
public static void main(String[] args) {
Date date = new Date();
long current = date.getTime();
current += 864000 * 1000;
System.out.println(new Date(current));
}
}
- long之中可以保存毫秒的数据级,这样方便程序处理;
SimpleDateFormat日期处理类
-
虽然Date类可以获取当前的日期时间,但是默认情况下Date类输出的日期时间结构并不能清晰的表达出日期时间,所以需要对显示的格式进行格式化的处理,为了可以格式化日期,在java.text包中提供有SimpleDateFormat程序类,该类是DateFormat的子类,在该类中提供有如下的方法:
- 【DateFormat】将日期格式化:public final String format(Date date)
- 【DateFormat】将字符串转为日期:public Date parse(String source) throws ParseException
- public SimpleDateFormat(String pattern)
日期格式:年(yyyy)月(MM)日(dd)时(HH)分(mm)秒(ss)毫秒(SSS);
//格式化日期显示
import java.text.SimpleDateFormat;
import java.util.Date;
public class dateApi {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String str = sdf.format(date);
System.out.println(str);
}
}
- 除了可以将日期格式化成字符串之后,也可以实现字符串与日期之间的转换处理;
//将日期转为Date
import java.text.SimpleDateFormat;
import java.util.Date;
public class dateApi {
public static void main(String[] args) throws Exception {
String birthday = "1900-01-01 00:00:00.000";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date date = sdf.parse(birthday);
System.out.println(date);
}
}
- 如果在进行字符串定义的时候,所使用的日期时间数字超过了指定的合理范围,则会自动进行进位处理;