一、util包简介
java.util包是Java内置的一个工具包,其中包含一系列常用的工具类。如处理日期和日历的类以及一些集合类。
java.util包不会默认导入,如果要使用到该包中的类,则必须在程序的开始部分显式地声明如下语句:
import java.util.*;
二、Date工具
Date类对象用来表示时间和日期;该类提供一系列操纵日期和时间各组成部分的方法;Date类最多的用途是获取系统当前的日期和时间。
例1:
package test;
import java.util.Date;
public class TestDate1 {
public static void main(String[] args) {
Date d = new Date();
long myTime = d.getTime();
System.out.println("Time时间:" + myTime);
int myyear = d.getYear();
System.out.println("Date获取年:" + myyear);
int mymonth = d.getMonth();
System.out.println("Date获取月:" + (mymonth+1));
int mydate = d.getDate();
System.out.println("Date获取日:" + mydate);
}
}
三、SimpleDateFormat工具
Date工具本身无法根据不同国家/语言的日期格式自动完成转换,因此用到日期格式转换工具:SimpleDateFormat。
SimpleDateFormat不是来自util包,是来自java.text包。
例:
package test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestSimpleDateFormat {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
// 1. Date转换为String
String changeStr = sdf.format(date);
System.out.println("时间:" + changeStr);
// 2.String转换为Date
String dateStr = "2017年04月13日 06时34分53秒";
try {
Date changeDate = sdf.parse(dateStr);
System.out.println(changeDate.toString());
boolean isAfter = date.after(changeDate);
System.out.println("date在changeDate之后:" + isAfter);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
四、Calendar工具
- Calendar类也是用来操作日期和时间的类,但它可以以整数形式检索类似于年、月、日之类的信息;
- Calendar类是抽象类,无法实例化,要得到该类对象只能通过调用getInstance方法来获得;
- Calendar对象提供为特定语言或日历样式实现日期格式化所需的所有时间字段。它根据不同的语言直接输出指定语言日期格式。
例:
package com.newer.mydate.demo;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
// 创建包含当前系统时间的Calendar对象
Calendar c =Calendar.getInstance();
// 打印Calendar对象各个组成部分的值
System.out.print("当前系统时间:");
System.out.print(c.get(Calendar.YEAR) + "年");
System.out.print((c.get(Calendar.MONTH) + 1) + "月");
System.out.print(c.get(Calendar.DATE) + "日 ");
System.out.print(c.get(Calendar.HOUR) + ":");
System.out.print(c.get(Calendar.MINUTE) + ":");
System.out.println(c.get(Calendar.SECOND));
//将当前时间添加30分钟,然后显示日期和时间
c.add(Calendar.MINUTE, 30);
Date date = c.getTime();
System.out.println("将当前时间添加30分钟后的时间:" + date);
}
}