Date与相关类
Date:
package com.Date; import java.util.Date; public class DateTest { public static void main(String[] args){ } public static void Date(){ //1、无参构造方法,得到的是当前时间的date对象 /*Date d=new Date();*/ /*System.out.println(d.toLocaleString()); System.out.println(d.toGMTString()); System.out.println(d.toString());*/ //2、参数是一个long值 Date(long a) //long的值代表的是与1900-01-01 00:00:00相差的毫秒值 /*Date d2=new Date(new Long(34765237)); System.out.println(d2.toLocaleString());*/ //long值的获取可以先使用Date的parse方法解析字符串类型的时间 /*long t1=Date.parse("Mon 6 Jan 1997 13:3:00");//注意只能解析特定格式的字符串 Date d3=new Date(t1); System.out.println(d3.toLocaleString());*/ //3、参数为年月日或者更多 //Date(int year,int mouth,int date) //Date(int year,int mouth,int date,int hrs,int min) //Date(int year,int mouth,int date,int hrs,int sec) /*Date d4=new Date(1996-1900,10,12); System.out.println(d4.toLocaleString());*/ /** * 参数说明 * year的值为:x-1900,x>=1900 * mouth的值为:0~11,代表1~12月,索引为0 * date的值为:1~31 * hrs的值在:0~23.从午夜到凌晨1点间hrs=0,从中午到下午1点间hrs=12 * 和sec的值在0~59间 */ /** * 获取Date对象中的信息,一系列get方法 * getYear()获取实际年份-1900的值 * getMonth()月 * getDate()日 * getHours()小时 * getMinutes()分钟 * getSenconds()秒 * getDay()星期 * getTime() 毫秒值,与1900-0-0 0:00:00:00的差 * getTimezoneOffset() getTimezoneOffset() 方法可返回格林威治时间和本地时间之间的时差,以分钟为单位。 * *当然Date有Year等字段的get方法,就有对应的set方法,我就不重复了 */ Date d=new Date(); System.out.println(d.getYear()+"\n" + d.getMonth() +"\t"+ d.getDate()+"\t" + d.getHours()+"\t" + d.getMinutes()+"\t" + d.getSeconds()+"\t" + d.getDay()+"\t" + d.getTime()+"\t" + d.getTimezoneOffset()+"\n"+ d.toLocaleString() ); /*parse(String s) 前面用到的将字符串类型的时间转换成long类型的时间差的方法 *字符串一般这两种格式: * 1、"Sat, 12 Aug 1995 13:30:00 GMT" * 2、"Sat, 12 Aug 1995 13:30:00 GMT+0430" * * 后面被被DateFormat.parse(String s)代替 */ /** * 日期对象的比较,Date对象和它的参数对象的比较 * before(Date when) * after(Date when) * equals(Object obj) * int compareTo(Date anotherDate) 比较两个日期的顺序 * int compareTo(Object obj) 如果obj是Date对象,与上一个一样,如果不是会报类型转换错误 * */ /** * toString() 将Date对象转换成如下格式的String * dow mon dd hh:mm:ss zzz yyyy (星期 月份....时区 年份) * toLocaleString() * 按当前格式生成反映这个Date对象的字符串。我这里的格式是 2016-5-8 0:01:49这种格式 * toGMTString() 将Date对象转换成如下格式的String * d mon yyyy hh:mm:ss */ } }
DateFormat:
package com.date; import java.text.DateFormat; import java.util.Date; import org.junit.Test; public class SimpleFormatDateTest { Date date=new Date(); int def=DateFormat.DEFAULT; int ful=DateFormat.FULL; int sho=DateFormat.SHORT; int lon=DateFormat.SHORT; int med=DateFormat.MEDIUM; /** * DEFAULT * FULL * SHORT * LONG * MEDIUM * 只支持5中模式,日期选择器或者日期时间选择器 */ public void method1(){ DateFormat df1=DateFormat.getDateInstance();//获取日期格式器,默认日期风格 System.out.println(df1.format(date)); } public void method2(){ DateFormat df1=DateFormat.getDateInstance(def); DateFormat df2=DateFormat.getDateInstance(ful); DateFormat df3=DateFormat.getDateInstance(sho); DateFormat df4=DateFormat.getDateInstance(lon); DateFormat df5=DateFormat.getDateInstance(med); System.out.println(df1.format(date)); System.out.println(df2.format(date)); System.out.println(df3.format(date)); System.out.println(df4.format(date)); System.out.println(df5.format(date)); } @Test public void method3(){ DateFormat df1=DateFormat.getDateTimeInstance(def,def); DateFormat df2=DateFormat.getDateTimeInstance(def,ful); DateFormat df3=DateFormat.getDateTimeInstance(def,sho); DateFormat df4=DateFormat.getDateTimeInstance(def,lon); DateFormat df5=DateFormat.getDateTimeInstance(def,med); System.out.println(df1.format(date)); System.out.println(df2.format(date)); System.out.println(df3.format(date)); System.out.println(df4.format(date)); System.out.println(df5.format(date)); } }
SimpleDateFormat:
package com.date; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.junit.Test; public class DateFormatTest { /** * SimpleDateFormat与传统的DateFormat的最大区别就是它可以自定义格式器 */ @Test public void method1(){ Date date=new Date(); String tm="2013-02-10"; SimpleDateFormat sdf1=new SimpleDateFormat("yyyy"); System.out.println(sdf1.format(date)); Date d2=null; try { d2=sdf1.parse(tm); } catch (ParseException e) { e.printStackTrace(); } System.out.println(sdf1.format(d2));//format返回的是指定格式的StringBuffer对象 } }
.java.util.Calendar类。
日期类不够国际化所以被Calendar替代了一些功能。
public abstract class Calendarextends Objectimplements Serializable, Cloneable, Comparable<Calendar> |
(1)概述。
Calendar类是一个抽象类,但是该类提供了一个方法能够返回一个该类的实例对象。
(2)getInstance()方法。
该方法有多个重载形式:
static Calendar |
getInstance() 使用默认时区和语言环境获得一个日历。 |
static Calendar |
getInstance(Locale aLocale)
使用默认时区和指定语言环境获得一个日历。 |
static Calendar |
getInstance(TimeZone zone)
使用指定时区和默认语言环境获得一个日历。 |
static Calendar |
getInstance(TimeZone zone, Locale aLocale)
使用指定时区和语言环境获得一个日历。 |
(3)get方法。
int |
get(int field) 返回给定日历字段的值。 |
该方法实现了很多Date类中已经过时的方法。
通过这个方法可以获取到Date对象的各个字段。
field是字段的意思,几个重要的字段:
YEAR
指示年的 get 和 set 的字段数字。
MONTH
指示月份的 get 和 set 的字段数字。
DAY_OF_MONTH
get 和 set 的字段数字,指示一个月中的某天。
HOUR_OF_DAY
get 和 set 的字段数字,指示一天中的小时。
MINUTE
get 和 set 的字段数字,指示一小时中的分钟。
SECOND
get 和 set 的字段数字,指示一分钟中的秒。
(4)set方法。
该方法也有多个重载形式。
void |
set(int field, int value) 将给定的日历字段设置为给定值。 |
void |
set(int year,
int month, int date) 设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。 |
void |
set(int year,
int month, int date, int hourOfDay, int minute) 设置日历字段 YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY
和 MINUTE 的值。 |
void |
set(int year,
int month, int date, int hourOfDay, int minute, int second)
设置字段 YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE
和 SECOND 的值。 |
该方法能够将当前对象的各个字段值设置为指定值。
(5)add方法。
abstract void |
add(int field, int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量。 |

浙公网安备 33010602011771号