Java 日期与时间操作

更多 Java 基础知识方面的文章,请参见文集《Java 基础知识》


关于 Java 8 的日期与时间操作,参见 Java8 日期与时间操作

Calendar 类

示例:

public static void main(String[] args) {
    // 使用默认的时区 timezone 和语言 locale
    Calendar cal = Calendar.getInstance();

    // Thu Jan 19 17:49:26 CST 2017
    System.out.println(cal.getTime());
    System.out.println(cal.getTimeInMillis()); // 毫秒数
    System.out.println(cal.get(Calendar.YEAR)); // 年
    System.out.println(cal.get(Calendar.MONTH)); // 月 0~11
    System.out.println(cal.get(Calendar.DATE)); // 日
    System.out.println(cal.get(Calendar.HOUR_OF_DAY)); // 小时
    System.out.println(cal.get(Calendar.MINUTE)); // 分
    System.out.println(cal.get(Calendar.SECOND)); // 秒

    // 昨天
    cal.add(Calendar.DATE, -1);

    // 明年
    cal.add(Calendar.YEAR, 1);
}

Calendar 类 VS Date 类

Date date = new Date();
Date date = Calendar.getInstance().getTime();
  • Date 类更简单,主要用于兼容之前的 Java 程序
  • 如果需要设置和操作日期,最好使用 Calendar
  • Date 不能设置时区 timezone 和语言 locale,而 Calendar 类可以设置。

日期格式化

使用 SimpleDateFormat,关于格式参数,可以参见 SimpleDateFormat

测试页面:Online SimpleDateFormat Test

示例:

// 使用默认的时区 timezone 和语言 locale
Calendar cal = Calendar.getInstance();

SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
System.out.println(df.format(cal.getTime())); // 2017/01/19

Date date = df.parse("2017/01/19");
System.out.println(date); // Thu Jan 19 00:00:00 CST 2017

你可能感兴趣的:(Java 日期与时间操作)