请问一个日期格式化的问题

dash_running 2006-10-18 02:59:39
我用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,两种格式化出来的结果会有这么大的差别啊?


...全文
216 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dash_running 2006-10-18
  • 打赏
  • 举报
回复
多谢各位!!!!
爱我洋洋 2006-10-18
  • 打赏
  • 举报
回复
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格式错误!
imA 2006-10-18
  • 打赏
  • 举报
回复
你的格式化串有问题,不是yyyy-mm-dd,改成yyyy-MM-dd。因为m是定义分钟数的。


chiefwolf 2006-10-18
  • 打赏
  • 举报
回复
new SimpleDateFormat("yyyy-mm-dd");改成new SimpleDateFormat("yyyy-MM-dd");即可

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧