JAVA 日期操作类

package org.calendardemo;

import java.util.Calendar;
import java.util.GregorianCalendar;

public class CalendarDemo01 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Calendar calendar = new GregorianCalendar();
		System.out.println("年:"+calendar.get(calendar.YEAR));
		System.out.println("月:"+calendar.get(calendar.MONTH));
		System.out.println("日:"+calendar.get(calendar.DAY_OF_MONTH));
		System.out.println("时:"+calendar.get(calendar.HOUR_OF_DAY));
		System.out.println("分:"+calendar.get(calendar.MINUTE));
		System.out.println("秒:"+calendar.get(calendar.SECOND));
		System.out.println("毫秒:"+calendar.get(calendar.MILLISECOND));
		
	}

}


形式一: 2009-02-02

形式二: 2009-03-02 15:12:12.102


package org.calendardemo;

import java.util.Calendar;
import java.util.GregorianCalendar;

class DateFormat{
	private Calendar cal = new GregorianCalendar();
	
	public String getDateTime(){
		StringBuffer buf = new StringBuffer();
		
		return buf.append(cal.get(Calendar.YEAR)).append("-").
		append(addZero(cal.get(Calendar.MONTH)-1,2)).append("-").
		append(addZero(cal.get(Calendar.DAY_OF_MONTH),2)).append(" ").
		append(addZero(cal.get(Calendar.HOUR),2)).append(":").
		append(addZero(cal.get(Calendar.MINUTE),2)).append(":").
		append(addZero(cal.get(Calendar.SECOND),2)).append(".").
		append(cal.get(Calendar.MILLISECOND)).toString();
	}
	
	public String getDate(){
		StringBuffer buf = new StringBuffer();
		
		return buf.append(cal.get(Calendar.YEAR)).append("-").
		append(addZero(cal.get(Calendar.MONTH)-1,2)).append("-").
		append(addZero(cal.get(Calendar.DAY_OF_MONTH),2)).toString();
	}
	
	public String addZero(int temp,int len){
		StringBuffer str = new StringBuffer();
		str.append(temp);
		while (str.length()<len){
			str.insert(0, "0");
		}
		return str.toString();
	}
}

public class CalendarDemo02 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		DateFormat df = new DateFormat();
		System.out.println(df.getDate());
		System.out.println(df.getDateTime());
	}
}



DateFormat

在DateFormat 中存在以下的格式化操作:

public final String format(Date date) 接收Date类数据转化成Sting 型数据


取得 DateFormat 类的实例:

public static final DateFormat getDateInstance();根据默认环境取得

public static final DateFormat getDateInstance(int style) 指定显示样式取得

public static final DateFormat getTimeInstance(int style) 取得日期时间

public static final DateFormat getTimeInstance(int dateSytel,int timeStyle)


package org.dateformatdemo;

import java.text.DateFormat;
import java.util.Date;

public class DateFormatDemo01 {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Date date = new Date();
		
		DateFormat df = DateFormat.getDateInstance(DateFormat.FULL);
		DateFormat dft = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);
		System.out.println(df.format(date));
		System.out.println(dft.format(date));
		
		
	}

}

SimpleDateFomrat

SimpleDateFormat 本身是DateFormat 的子类,但是其主要功能有两个

取得指定格式的日期及时间

进行日期格工化的转化操作


No 日期 模板 长度 描述
1 y 4 在操作的时候要使用yyyy表示年份
2 M 2 使用MM表示月份
3 d 2 使用dd表示日期
4 H 2 0~23的范围,使用HH表示
5 m 2 Mm表示分
6 s 2 表示秒,ss
7 毫秒 S 3 表示毫秒,SSS

所以,下面就可以利用以上 的格式进行转换操作,格式SimpleDateFormat 实例化的时候使用

构造方法 public SimpleDateFormat(String pattern),指定一个模版


如果要想完成转化功能,则可以使用如下的方法

public Date parse(String source) throws ParseException


package org.dateformatdemo;

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

public class DateFormatDemo01 {
 
	/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		String str ="2009-03-03 09:21:35.345";
		
		SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-DD");
		
		Date date = df.parse(str);//提取格式中的日期
		String newstr = df.format(date);//改变格式

		System.out.println(newstr);
		
		
	}

}


修改 Calendar 类


package org.calendardemo;

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

class DateFormat{
	private SimpleDateFormat spd = null;
	
	public String getDate(String date) throws Exception{
		this.spd = new SimpleDateFormat("yyyy-mm-DD");
		Date newdate = this.spd.parse(date);
		return this.spd.format(newdate);
	}
	
	public String getDateTime(String date) throws Exception{
		this.spd = new SimpleDateFormat("yyyy-mm-DD HH:MM:ss");
		Date newdate = this.spd.parse(date);
		return this.spd.format(newdate);
	}
	
}

public class CalendarDemo02 {

	/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		String str = "2012-09-08 12:13:14.123";
		System.out.println(new DateFormat().getDate(str));
		System.out.println(new DateFormat().getDateTime(str));
	}
}


你可能感兴趣的:(java)