Java - String标准格式转换Date(yyyy-MM-dd HH:mm:ss)

最近在接收一个Android项目,需要连接webService,于是要封装SOAP对象,服务器接收的时间字段是datetime类型,原本我以为封装SOAP对象时候,String类型解决一切,但是错了。服务器只认可datetime(“yyyy-MM-dd HH:mm:ss”)。

在设计程序数据结构时候,一切时间字段都自动转换成String类型,用过Android本地数据库,大伙应该知道,会使用SQLite,它并不支持Date类型存储,只好转换成TEXT,再存到数据库。

但是再利用时候,就有问题了。于是,String转换Date,很郁闷,通常都是Date转换String,这些代码马上解决:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date date=new java.util.Date();
String str=sdf.format(date);

代码生疏,于是网上百度了一阵,String转换Date,好多文章是忽悠别人,通常搜索到以下的做法:

        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d = new Date();
        String str = "2015-02-10 22:00:00";
        try {
            d = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(str);
            System.out.println("DateTime>>>>>>: " + d);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

运行结果是:DateTime>>>>>>: Tue Feb 10 22:00:00 CST 2015

这与我想要的结果Date(yyyy-MM-dd HH:mm:ss),完全不同,况且,封装在SOAP时,程序会报错Tue Feb 10 22:00:00 CST 2015无法识别

后来终于是找到了我想要的结果Date(yyyy-MM-dd HH:mm:ss)

于是,我总结了以下,编写了测试程序,加深理解:

        String string = "2015-02-10 22:00:00";
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d1;
        try {
            d1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(string);
            System.out.println("DateTime d1>>>>>>: " + d1);
            String d2 = format.format(d1);
            System.out.println("DateTime d2>>>>>>: " + d2);
            Date d3;
            d3 = format.parse(d2);
            System.out.println("DateTime d3>>>>>>: " + format.format(d3));
        } catch (ParseException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

代码虽易,但真正有几个人真正理解,又在关键时候想出来呢?

Sometime it is good to fall to really know where you stand.

Good Night

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值