0
点赞
收藏
分享

微信扫一扫

【java】日期类 Date类 与 SimpleDateFormat类

回溯 2022-03-30 阅读 60
java

Date类 java.util.Date

代表了一个特定的时间,以毫秒为精度

构造方法

public Date()  分配一个Date对象,并初始化,以便代表它被分配的时间,精确到毫秒

public Date(long date)  分配一个Date对象,并将其初始化为从标准基准时间起指定的毫秒数                                              (1970年一月一日起)

Date类常用方法

public long getTime()  获取日期对象从1970年1月1日00:00:00到现在的毫秒值

public void setTime(long time)  设置时间,给的是毫秒值(注意时差)

实例如下

import java.util.Date;

public class Ddate {

	public static void main(String[] args) {

		Date d=new Date();//Date d=new Date(20000);
	    System.out.println(d.getTime());
	    d.setTime(3600);
	    System.out.println(d.getTime());	

	}

}

SimpleDateFormat类 java.text.SimpleDateFormat

用于以区域设置敏感的方式格式化和解析日期的具体类

日期和时间格式由日期和时间模式字符串指定。 在日期和时间模式字符串中,从'A''Z'以及从'a''z'未加引号的字母被解释为表示日期或时间字符串的组成部分的模式字母。 

常用模式字母及对应关系如下
y
M
d
H
m
s

 构造方法

public SimpleDateFormat()  构造一个 SimpleDateFormat使用默认模式和日期格式符号默认设置。

public SimpleDateFormat(String pattern)   构造一个SimpleDateFormat使用给定的模式和默认的                                                                       日期格式符号设置。

 

SimpleDateFormat的格式化与解析日期

格式化(Date->String) public final String format(Date date)  将日期格式化为日期/时间字符串

解析(String->Date)public Date parse(String sourse)  从给定字符串的开始解析文本以生成日期

实例如下 

package API;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Simpledateformat {

	public static void main(String[] args) throws ParseException {
		//parse()过时 抛出异常throws ParseException
		
		SimpleDateFormat sim=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		System.out.println(sim);//java.text.SimpleDateFormat@ca92313f
		Date d=new Date();
		String s=sim.format(d);//Date->String
		System.out.println(s);//2022年03月30日 03:23:27
		String ss="2003-03-28 00:00:00";
		
		//SimpleDateFormat simp=new SimpleDateFormat("yyyy MM dd HH:mm:ss");
		/*Exception in thread "main" java.text.ParseException: Unparseable date: "2003-03-28 00:00:00"
	      at java.base/java.text.DateFormat.parse(DateFormat.java:396)
	      at API.Simpledateformat.main(Simpledateformat.java:22)
         */
		//格式错误,yyyy MM dd HH:mm:ss与2003-03-28 00:00:00格式不对应
		
		SimpleDateFormat simp=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date dd=simp.parse(ss);
		System.out.println(simp);//java.text.SimpleDateFormat@4f76f1a0
		//若直接打印SimpleDateFormat对象只会得到地址值,所以需要格式化与解码
		System.out.println(dd);//Fri Mar 28 00:00:00 CST 2003


	}

}
举报

相关推荐

0 条评论