String转日期格式

s252718778 2009-09-11 08:24:24
String str="20090911"
我想转成 日期格式 "2009-09-11"
我不想加"-"
import java.text.SimpleDateFormat;
import java.util.Date;
import java.text.ParsePosition;
public class Demo {

public Demo() {
}
public static void main (String[] args) {
try{
String sDate = "20090911";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(sDate);
System.out.println (date);
}catch(Exception ex){
ex.printStackTrace();
}

}

}
报错
大家给我个例子 谢谢
...全文
175 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveofmylife 2009-09-11
  • 打赏
  • 举报
回复
import java.text.SimpleDateFormat; 
import java.util.Date;
import java.text.ParsePosition;
public class Demo {

public Demo() {
}
public static void main (String[] args) {
try{
String sDate = "20090911";
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd");
Date date = sdf.parse(sDate);
System.out.println (date);//20090911格式Date对象
String newDate=sdf2.format(date);
System.out.println (date);//2009-09-11字符串
}catch(Exception ex){
ex.printStackTrace();
}

}

}
yihanmushui5211314 2009-09-11
  • 打赏
  • 举报
回复
使用标准的日期格式化:
tring dateString = "20090911";
Date date3=new Date(dateString);//已过时。 从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。
DateFormat mediumdate=DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.CHINA);//标准的日期格式化
System.out.println("mediumFormat: "+mediumdate.format(date3));
jayqean 2009-09-11
  • 打赏
  • 举报
回复
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo{
public static void main (String[] args) {
String sDate = "20090911";
try{
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date date = sdf.parse(sDate);
sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println (sdf.format(date));//这样打印出来就是你想要的
}catch(Exception ex){
ex.printStackTrace();
}
}
}
blliy117 2009-09-11
  • 打赏
  • 举报
回复


SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date date = sdf.parse(sDate);
sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println (sdf.format(date ));//这样打印出来就是你想要的

blliy117 2009-09-11
  • 打赏
  • 举报
回复
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); 才和你现在的配置
fskjb01 2009-09-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fskjb01 的回复:]
晕,用错方法啦,应该是Date date = sdf.format(sDate);
[/Quote]

我自己搞错啦,不好意识哦!!
justinavril 2009-09-11
  • 打赏
  • 举报
回复
String sDate = "20090911"; 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //你确定的sdf这个对象只能匹配形如2009-09-11这种形式的时间字符串;
//你可以改成SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
fskjb01 2009-09-11
  • 打赏
  • 举报
回复
晕,用错方法啦,应该是Date date = sdf.format(sDate);

62,620

社区成员

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

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