/*进一步掌握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());
}
};
本程序主要采用内容:
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());
}
};