java中自带时间类用法实例 Date,Timestamp,DateFormat

我们将以Java自带的时间日期类和其中的处理函数进行分析。

一、与时间日期有关的类。

  java.util.Date。实现类,其对象具有时间、日期组件。

  java.util.Calendar。抽象类,其对象具有时间、日期组件。

  java.sql.Date。实现类,其对象具有日期组件。

  java.sql.Time。实现类,其对象具有时间组件。

  java.sql.Timestamp。实现类,其对象具有时间日期组件。

  java.text.DateFormat。抽象类,其对象格式化时间日期。

我们一般会使用的类java.util.Date、java.util.Calendar、java.sql.Timestamp、java.text.DateFormat进行时间日期操作,因为他们有完全的时间日期组件和全面的格式化功能。值得注意的是java.sql.Date没有时间组件,而java.sql.Time没有日期组件!

下面是用法举例

public static void main(String[] args) {
		/**
		*	展示各个日期时间组件的输出类型
		*/
		java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
		System.out.println(sqlDate.toString()); // 输出结果:2015-06-25

		java.sql.Time sqlTime = new java.sql.Time(System.currentTimeMillis());
		System.out.println(sqlTime.toString()); // 输出结果:09:13:43

		java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(System.currentTimeMillis());
		System.out.println(sqlTimestamp.toString()); // 输出结果:2015-06-25 09:13:43.561

		java.util.Date utilDate = new java.util.Date(System.currentTimeMillis());
		System.out.println(utilDate.toString()); // 输出结果:Thu Jun 25 09:13:43 CST 2015

		java.util.Calendar cl = java.util.Calendar.getInstance();
		System.out.println(cl.getTime().toString()); // 输出结果:Thu Jun 25 09:13:43 CST 2015
	}
public static void main(String[] args) {
	/**
	 * java.sql.Timestamp的用法,
	 */
	@SuppressWarnings("deprecation")
	java.sql.Timestamp sqlTimestamp1 = new java.sql.Timestamp(2015,6,25,9,13,43,561);
	java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(System.currentTimeMillis());
	System.out.println(sqlTimestamp); 

	Boolean isAfter = sqlTimestamp.after( sqlTimestamp1 );
	System.out.println( isAfter );    //false

	Boolean isBefore = sqlTimestamp.before( sqlTimestamp1 );
	System.out.println( isBefore );   //true
	//用于比较两个时间点的长度,单位毫秒
	Long gettimes = sqlTimestamp.getTime();
	System.out.println( gettimes );   //输出 :1435196988250
	//将字符串类型转为 Timestamp 类型
	java.sql.Timestamp sqlTimestamp2 = java.sql.Timestamp.valueOf( "2015-06-25 09:48:16.524" );
	System.out.println( sqlTimestamp2 );   //输出:2015-06-25 09:48:16.524
}
public static void main(String[] args) {
		/**
		 * java.text.SimpleDateFormat的用法
		 */
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Timestamp now = new Timestamp(System.currentTimeMillis());
		System.out.println(now); // 2015-06-25 14:27:41.477
		String time = df.format(now);
		System.out.println(time); // 2015-06-25 14:27:41
		System.out.println(Timestamp.valueOf(time)); // 2015-06-25 14:27:41.0

		Date now1 = new Date();
		System.out.println(now); // 2015-06-25 14:27:41.477
		String time1 = df.format(now1);
		System.out.println(time1); // 2015-06-25 14:27:41
		System.out.println(Timestamp.valueOf(time1)); // 2015-06-25 14:27:41.0

	}

public static void main(String[] args) {
	/**
	 * java.util.Calendar的用法
	 */
	Calendar calendar1 = Calendar.getInstance();
	System.out.println(calendar1); // java.util.GregorianCalendar[time=1435214975097,areFieldsSet=true,
	// areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",
	// offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],
	// firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2015,MONTH=5,
	// WEEK_OF_YEAR=26,WEEK_OF_MONTH=4,DAY_OF_MONTH=25,DAY_OF_YEAR=176,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=4,
	// AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=49,SECOND=35,MILLISECOND=97,ZONE_OFFSET=28800000,DST_OFFSET=0]

	// 获取时间
	Date date1 = calendar1.getTime();
	System.out.println(date1); // Thu Jun 25 14:49:35 CST 2015
	System.out.println(calendar1.getWeeksInWeekYear()); // 52
	System.out.println(calendar1.get(Calendar.DAY_OF_MONTH)); // 25
	System.out.println(calendar1.get(Calendar.HOUR_OF_DAY)); // 14

	}
时间: 2024-10-10 08:26:29

java中自带时间类用法实例 Date,Timestamp,DateFormat的相关文章

java中的日期处理类总结

转自 http://blog.csdn.net/shibenjie/article/details/4263912 java中的日期处理类总结:Date/Calendar/GregorianCalendar/DateFormat/SimpleDateFormat类 今天花了好大一点时间把java的日期类做了一下整理,哈 1.         Date类(该类现在很少用了) l         Date类对象的创建: n         创建一个当前时间 //默认是创建一个代表系统当前日期的Dat

java中静态代码块的用法 static用法详解

(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的.静态方法(1)在Java里,可以定义一个不需要创建对象的方法,这种方法就是

关于Java中this和super的用法介绍和区别

1.this&super 什么是this,this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针.当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的.要注意的是this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this.his也可作为构造函数来使用.在后面可以看到 而什么是super,可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类.super的作用同样是可

【Java学习笔记之二十九】Java中的"equals"和"=="的用法及区别

Java中的"equals"和"=="的用法及区别 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str2 = new String("hello"); 3 System.out.println(str1==str2); 4 System.out.println(str1.equals(str2)); 为什么第4行和第5行的输出结果不一

Java中PreparedStatement和Statement的用法区别

Java中PreparedStatement和Statement的用法区别 (2012-08-01 11:06:44) 转载▼ 标签: 杂谈   1. PreparedStatement接口继承Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象. 2.作为 Statement 的子类,PreparedStatement 继承了 Statement 的所有功能.三种方法 execute. executeQuery

PHP中__get()和__set()的用法实例详解

PHP中__get()和__set()的用法实例详解 在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属性,对每个字段进行set和get的操作.只需要加上两个魔术方法即可 php面向对象_get(),_set()的用法 一般来说,总是把类的属性定义为private,这更符合 现实的逻辑.但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属 性.类似于java中的javabean的操作,

Java笔记十六.java中的this和super用法

一.this引用句柄 this引用句柄在Java程序里的作用,可表现为它在函数内部就是这个函数所属的对象的引用变量,即当前对象.在成员方法中,对访问的同类中成员前加不加this引用,效果都是一样的,这就好像同一公司的职员彼此在提及和自己公司有关的事时,不必说出公司名一样,当然为了强调,可以加上"咱们公司....."这样的前缀,而在Java程序中,this就相当于"我们所属于的那个对象". 每个成员方法内部,都有一个this引用变量,指向调用这个方法的对象.下面我们开

Java中的基本操作单元 - 类和对象

Java中的基本操作单元 - 类和对象 文本关键字:类.属性.行为.实例化.对象 一.概念浅析 说到类和对象,这都是两个比较抽象的词,如果用在程序中,那就更不知道是什么意思了.其实大家可以先不联系程序,我们在对一大堆东西分类的时候自然是有一个标准的,符合某些特征的分到一类,符合另外一些特征的分到另外一类.在每个类别中,每一样东西都有相同的特征,但是又有所差别,每一样东西就好比一个一个的对象,是一个切切实实的东西,而分类的类别就好似是一个标准或者描述,会更抽象一些. 1. 类的概念 在编程中,我们

将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)

方法一:使用Arrays.asList()方法 1 2 String[] asset = {"equity", "stocks", "gold", "foreign exchange","fixed income", "futures", "options"}; List<String> assetList = Arrays.asList(asset);