日期操作类

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);
    }
}
  • 如果在进行字符串定义的时候,所使用的日期时间数字超过了指定的合理范围,则会自动进行进位处理;

你可能感兴趣的:(日期操作类)