如何将1983/08/23变换成1983-08-23
用SimpleDateFormat实现

解决方案 »

  1.   

    try {
          String s1 = "1983/08/23";
          SimpleDateFormat sf1 = new SimpleDateFormat("yyyy/MM/dd");
          SimpleDateFormat sf2 = new SimpleDateFormat("yyyy-MM-dd");
          Date date = sf1.parse(s1);
          System.out.println(sf2.format(date));
        }
        catch (ParseException ex) {
        }
      

  2.   

    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.text.ParseException;
    public class Format{
    public static void main(String[] args){
    SimpleDateFormat formate=new SimpleDateFormat("yyyy/MM/DD");
            Date date=null;
            try{
         date=formate.parse("1983/08/23");
        }catch(ParseException e){
         e.printStackTrace();
        }
        formate.applyPattern("yyyy-MM-DD");
        
        System.out.println(formate.format(date));
    }
    }
    临时查API报佛脚抱出来的,估计做法不是很优美。
    学习下~
      

  3.   

    to 88324877(寂寞呆头鱼)
    哈哈,来晚了
    不过你的程序有bug
    看看我1楼的答案以前的帖子说过,try...catch...不是打印一下就完事的,这样走形式不可以的
    你能看出bug在哪吗?
      

  4.   

    applyPattern
    public void applyPattern(String pattern)将给定模式字符串应用于此日期格式。 参数:
    pattern - 此日期格式的新的日期和时间模式 
    抛出: 
    NullPointerException - 如果给定的模式为 null 
    IllegalArgumentException - 如果给定的模式无效你是不是我说没捕获异常啊~
      

  5.   

    如果你的try...catch...捕获到了异常,那后面的date就是null,这个太危险了,会出现空指针错误的