使用java 的Date() 获取日期,但是又不想使用既定的格式,可以分开获取不同的时间元素,再将元素串成字符串。
例如,需要获取2012-11-12这样的字符串。有以下要点:
先利用Date()获取时间。Date now = new Date();
如果直接用now.getYear();获取年份,会发现获得112,这是因为机器中默认从1900年开始计算年份,所以要得到当前年份,加上1900即可:
int year=now.getYear()+1900;
获取月份,需要注意,月份是按照0~11存的,所以使用时加一才是正常的月份,如果是1~9月,那么还需补零才是惯用格式:
日期直接用getDay()就可以获得。
获取年月日之后,将其串联即得到所需格式的日期字符串,全过程如下:
Date now = new Date();
//保存日期的字符串
StringBuffer time=new StringBuffer();
//获取年份
int year=now.getYear()+1900;
time.append(year+"-");
//获取月份
int month=now.getMonth()+1;
if(month<10){
time.append("0"+month+"-");
}else{
time.append(month+"-");}
//获取日期
int day=now.getDate();
time.append(day);
time中保存的即为所需要的字符串