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));
}
}