从一个表中取出的字段值为Fri Apr 11 14:01:32 CST 2008,想要把这个字符串转换为日期型YYYY-MM-DD格式,插入另外一个表中,怎样转化?积分不多了,抱歉会给较少的分数。

解决方案 »

  1.   


    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;public class TestDate {
    public static void main(String[] args) {
    String dateStr = "Fri Apr 11 14:01:32 CST 2008";
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    System.out.println(dateFormat.format(new Date(dateStr)));
    }

    }
      

  2.   


    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    dateFormat.format(new Date(dateStr));承揽:网站开发,SEO优化,毕业设计,OA,ERP,空间,域名,企业级管理系统  业务范围:[.net] [java]
      

  3.   

    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    dateFormat.format(new Date(dateStr));
    这是一个过时的方法。
    从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代LZ可以参考下面的写法
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
    System.out.println (simpleDateFormat.parse("Fri Apr 11 14:01:32 CST 2008"));
      

  4.   

    应该显示为:
    2008-04-11按1楼的方法显示为
    2008-04-12不知道为什么?
    另外之所以要这样转换,是因为要插入的表的字段类型为datetime,所以5楼的方法不太合适。
      

  5.   


    Locale.US只改变日期格式,不改变日期的时区
    CST可以代表四个时区,在这里表示中国标准时间CST Central Standard Time (USA) UT-6:00
    CST Central Standard Time (Australia) UT+9:30
    CST China Standard Time UT+8:00
    CST Cuba Standard Time UT-4:00
      

  6.   


    simpleDateFormat.parse("Fri Apr 11 14:01:32 CST 2008")
    返回的就是Date类型,不知lz所谓的“不太合适”作何解释
      

  7.   

    明白了。
    但是如果我想原来的日期时间是什么,转换后还是原来的日期时间呢?
    也就是说,如果是“Fri Apr 11 14:01:32 CST 2008”,转换后,我想得到“2008-4-11 14:01:32”是不是就没有办法了?另外5楼的方法我也试过了,转换后,仍然是“Fri Apr 11 14:01:32 CST 2008”,不知道我是不是用错了?
      

  8.   


    simpleDateFormat.parse("Fri Apr 11 14:01:32 CST 2008")
    返回的是Date型
    输出仍然是“Fri Apr 11 14:01:32 CST 2008”
    这是Date型的toString()方法
    想得到“2008-4-11 14:01:32”可以再用SimpleDateFormate转换
        public static void main(String[] args) throws Exception {
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
         Date date = simpleDateFormat.parse("Fri Apr 11 14:01:32 CST 2008");
            System.out.println (date);
            simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println (simpleDateFormat.format(date));
        }