Calendar类使用实例

来源:互联网 发布:手机淘宝如何买东西 编辑:程序博客网 时间:2024/06/18 16:44
/*进一步掌握Calendar类的使用
  本程序主要采用内容:
  Date SimpleDateFormat StringBuffer Clendar
  开发中经常去的日期,而每次取得日期的代码都会重复,因此可以定义一个类,方便重复调用
  注意:如果月份是9月,应该显示09,但如果是09的话,肯定会忽略到0
*/
//取得系统是将--->Calendar实现
import java.util.*;  //取得Calendar需要导入的包


class DateTime{    //以后直接通过此类取得日期时间
private Calendar calendar=null;  
public DateTime(){    //构造方法
this.calendar=new GregorianCalendar();



  public String getDate(){ //得到的是一个日期数,格式为:yyyy-MM-dd HH:mm:ss.SSS
//考虑到要频繁修改字符串,用StringBuffer类型
StringBuffer buf=new StringBuffer();
buf.append(calendar.get(Calendar.YEAR)).append("-");//增加年
buf.append(this.addZero(calendar.get(Calendar.MONTH)+1,2)).append("-");  //增加月
buf.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH),2)).append(" ");  //取得日
buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY),2)).append(":");
buf.append(this.addZero(calendar.get(Calendar.MINUTE),2)).append(":");
buf.append(this.addZero(calendar.get(Calendar.SECOND),2)).append("::");
buf.append(this.addZero(calendar.get(Calendar.MILLISECOND),3));

return buf.toString();
  }
  
  public String getDateComplete(){  //取得格式为yyyy年MM月dd日HH时mm分ss秒SSS毫秒
  StringBuffer buf1=new StringBuffer();
buf1.append(calendar.get(Calendar.YEAR)).append("年");//增加年
buf1.append(this.addZero(calendar.get(Calendar.MONTH)+1,2)).append("月");  //增加月
buf1.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH),2)).append("日");  //取得日
buf1.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY),2)).append("时");
buf1.append(this.addZero(calendar.get(Calendar.MINUTE),2)).append("分");
buf1.append(this.addZero(calendar.get(Calendar.SECOND),2)).append("秒");
buf1.append(this.addZero(calendar.get(Calendar.MILLISECOND),3)).append("毫秒");

return buf1.toString();
  }
  
  public String getDateTime(){//取得时间戳yyyyMMddHHmmssSSS
  StringBuffer buf2=new StringBuffer();
buf2.append(calendar.get(Calendar.YEAR));//增加年
buf2.append(this.addZero(calendar.get(Calendar.MONTH)+1,2));  //增加月
buf2.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH),2));  //取得日
buf2.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY),2));
buf2.append(this.addZero(calendar.get(Calendar.MINUTE),2));
buf2.append(this.addZero(calendar.get(Calendar.SECOND),2));
buf2.append(this.addZero(calendar.get(Calendar.MILLISECOND),3));

return buf2.toString();
  }
  
  //考虑到日期中存在0的情况,增加补零的方法
  private String addZero(int num,int len){
  StringBuffer s=new StringBuffer();
  s.append(num);
  while(s.length()<len){  //如果长度不足,则继续补零
  s.insert(0,"0"); //在第一个位置处补零
  }
  return s.toString();
  }
};


public class CalendarCaseDemo{
public static void main(String args[]){
DateTime date=new DateTime();
System.out.println("系统日期:"+date.getDate());
System.out.println("中文日期:"+date.getDateComplete());
System.out.println("时间戳:"+date.getDateTime());
}
};
原创粉丝点击