当前页面: 开发资料首页 → J2SE 专题 → 请问一个日期格式化的问题
请问一个日期格式化的问题
摘要: 请问一个日期格式化的问题
我用SimpleDateFormat parse("2005-09-15")出一个日期curDate后,用DateFormat的format来format它,但是format后的结果日期有问题,代码如下,
import java.util.*;
import java.text.*;
public class SysCurDate
{
public static void main(String args[])
{
Date curDate;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
try{
curDate=sdf.parse("2005-09-15");
System.out.println(sdf.format(curDate));//此句显示的是2005-9-15
DateFormat df=DateFormat.getDateInstance(DateFormat.FULL);
System.out.println(df.format(curDate));//但是此句显示的则是2005-1-15
}
catch(ParseException e)
{
System.exit(1);
}
}
}
输出:
2005-09-15
2005年1月15日 星期六
两个日期本来应该一样,但是月份老是不对,不管怎么该日期,输出的都是1月
请各位帮我看看,怎么同一个Date,两种格式化出来的结果会有这么大的差别啊?
new SimpleDateFormat("yyyy-mm-dd");改成new SimpleDateFormat("yyyy-MM-dd");即可
你的格式化串有问题,不是yyyy-mm-dd,改成yyyy-MM-dd。因为m是定义分钟数的。
package sunscjp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* DateTest
* @author zeyuphoenix
*/
public class DateTest {
/**
* @param args String
*/
public static void main(String args[]){
//Date
Date curDate;
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
try{
//SimpleDateFormat
curDate=simpleDateFormat.parse("2005-09-15");
System.out.println(simpleDateFormat.format(curDate));
//DateFormat
DateFormat dateFormat=DateFormat.getDateInstance(DateFormat.FULL);
System.out.println(dateFormat.format(curDate));
}
catch(ParseException e)
{
System.exit(1);
}
}
}
这样就可以了,你的FORM格式错误!
多谢各位!!!!