日期时间相关类

本文主要介绍几个Java中常用的日期时间相关的类,Date,DateFormat,Calendar

Date

Date类是Java中表示特定时间的类,精确到毫秒,有很多方法已经不再使用,下面仅介绍还在使用的几种方法:

构造方法

public Date()  根据当前的默认毫秒值创建日期对象
public Date(long date)  根据给定的毫秒值创建日期对象

成员方法

public long getTime()  获取时间,以毫秒为单位
public void setTime(long time))  设置时间
获取的毫秒值是指从1970年上午8时到当前时间经过的毫秒数

DateFormat

DateFormat类概述:DateFormat 是日期/时间格式化子类的抽象类,
它以与语言无关的方式格式化并解析日期或时间y因为DateFormate是抽象类,所以可以使用该类的子类SimpleDateFormat 。

构造方法

public SimpleDateFormat()
public SimpleDateFormat(String pattern)
pattern指格式化和解析用的字符串格式,如yyyy-MM-dd HH:mm:ss

成员方法

public final String format(Date date)
public Date parse(String source)
解析: parse
	文本内容(字符串  xml json html) --> 实体类  解析
格式化: format
	实体类 --> 文本内容(字符串  xml json html)
/**
 * 这是一个日期和字符串转换处理的一个日期工具类
 * @author yjn
 * @version 1.0
 */
public class DateUtils {
	
	private DateUtils() {}
	
	/**
	 * 这是将日期按照某种格式转换成字符串的方法
	 * @param date 需要格式化的日期
	 * @param pattern 日期字符串的模型
	 * @return 格式化后的字符串
	 */
	public static String dateToString(Date date, String pattern) {
		return new SimpleDateFormat(pattern).format(date);
	}
	
	/**
	 * 这是将日期字符串按照某种格式转换成日期的方法
	 * @param dataStr 需要解析的日期字符串
	 * @param pattern 日期字符串的模型
	 * @return	解析后的日期对象
	 * @throws ParseException 抛出解析异常
	 */
	public static Date stringToDate(String dataStr, String pattern) throws ParseException {
		return new SimpleDateFormat(pattern).parse(dataStr);
	}
}
public class TestDateUtils {
	public static void main(String[] args) throws ParseException {
		String dateStr = DateUtils.dateToString(new Date(), "yyyy-MM-dd HH:mm:ss");
		System.out.println(dateStr);
		Date date = DateUtils.stringToDate("2019:04:25", "yyyy:MM:dd");
		System.out.println(date);
	}
}

Calendar

Calendar类概述:Calendar 类是一个抽象类,
它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,
并为操作日历字段(例如获得下星期的日期)提供了一些方法,瞬间可用毫秒值来表示。

成员方法

public static Calendar getInstance()
public int get(int field)
public void add(int field,int amount)
public final void set(int year,int month,int date)		
public class CalendarDemo01 {
	public static void main(String[] args) {
		Calendar c = Calendar.getInstance();
		System.out.println(c);
		int year = c.get(Calendar.YEAR);
		int month = c.get(Calendar.MONTH);
		int day = c.get(Calendar.DAY_OF_MONTH);
		int hour = c.get(Calendar.HOUR_OF_DAY);
		int minute = c.get(Calendar.MINUTE);
		int second = c.get(Calendar.SECOND);
		System.out.println(year + "年" + (month + 1) + "月" + day);
		c.add(Calendar.YEAR, -3);
		System.out.println(c);
		int year2 = c.get(Calendar.YEAR);
		int month2 = c.get(Calendar.MONTH);
		int day2 = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(year2 + "年" + (month2 + 1) + "月" + day2);
		c.add(Calendar.YEAR, 30);
		int year3 = c.get(Calendar.YEAR);
		int month3 = c.get(Calendar.MONTH);
		int day3 = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(year3 + "年" + (month3 + 1) + "月" + day3);
		c.set(5050, 5, 20, 12, 12, 12);
		int year4 = c.get(Calendar.YEAR);
		int month4 = c.get(Calendar.MONTH);
		int day4 = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(year4 + "年" + (month4 + 1) + "月" + day4);
	}
}

猜你喜欢

转载自blog.csdn.net/yjn1995/article/details/89511225
今日推荐