我们将以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