有关Date问题

contempomaszxy 2010-04-26 04:06:30
代码如下:
import java.text.SimpleDateFormat;
import java.util.Date;

public class Lesson82 {

/**
* @param args
*/
public static void main(String[] args) {
SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMDD");
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月DD日");
Date date=null;
try{
date=sdf1.parse("20031121");
}catch(Exception e){
e.printStackTrace();
}
System.out.println(sdf2.format(date));

}

}

为什么程序输出: 2003年01月21日
...全文
79 10 打赏 收藏 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hellen_99010 2010-04-26
  • 打赏
  • 举报
回复
改成这样就行了.你格式时写的日期格式不对.参考下API文档.代码我帮你调好了.


import java.text.SimpleDateFormat;
import java.util.Date;


public class TestDate {
public static void main(String[] args) {
SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日");
Date date=null;
try{
date=sdf1.parse("20031121");
System.out.println(date);
}catch(Exception e){
e.printStackTrace();
}
System.out.println(sdf2.format(date));

}

}

focusforce 2010-04-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 contempomaszxy 的回复:]
原来与dd有关,多谢
[/Quote]
与格式有关,与"dd"无关,汗一个~
contempomaszxy 2010-04-26
  • 打赏
  • 举报
回复
程序正确写法如下:
import java.text.SimpleDateFormat;
import java.util.Date;

public class Lesson82 {

/**
* @param args
*/
public static void main(String[] args) {
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日");
Date date=null;
try{
date=sdf1.parse("2003-11-21");
}catch(Exception e){
e.printStackTrace();
}
System.out.println(sdf2.format(date));

}

}
contempomaszxy 2010-04-26
  • 打赏
  • 举报
回复
原来与dd有关,多谢
focusforce 2010-04-26
  • 打赏
  • 举报
回复
一般是yyyyMMdd。
contempomaszxy 2010-04-26
  • 打赏
  • 举报
回复
全部变为小写就行了,这是为什么?Java不是规定月与日要用大写吗?
focusforce 2010-04-26
  • 打赏
  • 举报
回复
Symbol Meaning Presentation Example
G era designator Text AD
y year Number 2009
M month in year Text & Number July & 07
d day in month Number 10
h hour in am/pm (1-12) Number 12
H hour in day (0-23) Number 0
m minute in hour Number 30
s second in minute Number 55
S millisecond Number 978
E day in week Text Tuesday
D day in year Number 189
F day of week in month Number 2 (2nd Wed in July)
w week in year Number 27
W week in month Number 2
a am/pm marker Text PM
k hour in day (1-24) Number 24
K hour in am/pm (0-11) Number 0
z time zone Text Pacific Standard Time
' escape for text Delimiter (none)
' single quote Literal '
contempomaszxy 2010-04-26
  • 打赏
  • 举报
回复
试了,不行呀,MM与mm出现一样的问题
focusforce 2010-04-26
  • 打赏
  • 举报
回复
或者DD小写
focusforce 2010-04-26
  • 打赏
  • 举报
回复
把mm改成小写就正确了。

62,620

社区成员

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

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