您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
〖第11章:Java常用类库〗_实例操作:取得当前日期
发布时间:2020-12-24 17:45:13编辑:雪饮阅读()
实现获取当前时间
设计一个类获取当前时间,输出格式分别有3种风格
“xxxx-xx-xx xx:xx:xx.xxxx”、”xxxx年xx月xx日 xx时xx分xx秒xxxx毫秒”、” xxxxxxxxxxxxxxxxxx”(伪时间戳)
用GregorianCalendar实现获取当前时间
import java.util.*;
class DateTime{
private Calendar calendar=new GregorianCalendar();
public String getDate(){
//用StringBuffer类实现性能更好
StringBuffer sbf=new StringBuffer();
sbf.append(this.addZero(this.calendar.get(Calendar.YEAR),4)).append("-");
sbf.append(this.addZero(this.calendar.get(Calendar.MONTH)+1,2)).append("-");
sbf.append(this.addZero(this.calendar.get(Calendar.DAY_OF_MONTH),2)).append(" ");
sbf.append(this.addZero(this.calendar.get(Calendar.HOUR_OF_DAY),2)).append(":");
sbf.append(this.addZero(this.calendar.get(Calendar.MINUTE),2)).append(":");
sbf.append(this.addZero(this.calendar.get(Calendar.SECOND),2)).append(".");
sbf.append(this.addZero(this.calendar.get(Calendar.MILLISECOND),4));
return sbf.toString() ;
}
public String getDateComplete(){
StringBuffer sbf=new StringBuffer();
sbf.append(this.addZero(this.calendar.get(Calendar.YEAR),4)).append("年");
sbf.append(this.addZero(this.calendar.get(Calendar.MONTH)+1,2)).append("月");
sbf.append(this.addZero(this.calendar.get(Calendar.DAY_OF_MONTH),2)).append(" ");
sbf.append(this.addZero(this.calendar.get(Calendar.HOUR_OF_DAY),2)).append("时");
sbf.append(this.addZero(this.calendar.get(Calendar.MINUTE),2)).append("分");
sbf.append(this.addZero(this.calendar.get(Calendar.SECOND),2)).append("秒");
sbf.append(this.addZero(this.calendar.get(Calendar.MILLISECOND),4)).append("毫秒");
return sbf.toString() ;
}
//获取伪时间戳
public String getTimeStamp(){
StringBuffer sbf=new StringBuffer();
sbf.append(this.addZero(this.calendar.get(Calendar.YEAR),4));
sbf.append(this.addZero(this.calendar.get(Calendar.MONTH)+1,2));
sbf.append(this.addZero(this.calendar.get(Calendar.DAY_OF_MONTH),2));
sbf.append(this.addZero(this.calendar.get(Calendar.HOUR_OF_DAY),2));
sbf.append(this.addZero(this.calendar.get(Calendar.MINUTE),2));
sbf.append(this.addZero(this.calendar.get(Calendar.SECOND),2));
sbf.append(this.addZero(this.calendar.get(Calendar.MILLISECOND),4));
return sbf.toString() ;
}
private String addZero(int num,int len){
StringBuffer sbf=new StringBuffer();
sbf.append(num);
while(sbf.length()<len){
sbf.insert(0,0);
}
return sbf.toString();
}
}
public class Hello{
public static void main(String args[]){
System.out.println(new DateTime().getDate());
System.out.println(new DateTime().getDateComplete());
System.out.println(new DateTime().getTimeStamp());
}
}
D:\>javac Hello.java
D:\>java Hello
2020-12-24 17:34:00.0394
2020年12月24 17时34分00秒0394毫秒
202012241734000395
实现虽然实现了,就是代码太多了,太麻烦。
用SimpleDateFormat实现获取当前时间
import java.util.*;
import java.text.* ;
class DateTime{
public String getDate(){
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date());
}
public String getDateComplete(){
return new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒SSS毫秒").format(new Date());
}
//获取伪时间戳
public String getTimeStamp(){
return new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
}
}
public class Hello{
public static void main(String args[]){
System.out.println(new DateTime().getDate());
System.out.println(new DateTime().getDateComplete());
System.out.println(new DateTime().getTimeStamp());
}
}
干的漂亮,要的就是这种极简风格。
关键字词:java,日期