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