我的时间是存在sqllite中的,且时间的格式为Date类型,取出后想转换成yyyy-MM-dd格式,结果始终都是解析失败。时间为Mon Sep 25 20:03:08 GMT+08:00 2017。
吐槽一下java,时间转换真是麻烦,如果用c#转换时间的话,直接就toString(“yyyy-MM-dd”)了。
先来这段失败代码 传入string dateTime
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
Date date = sdf.parse(dateTime);
string time = sdf.format(date);
我们经常干的new Date(),然后用parse解析根本没啥毛病啊,但是解析当前这个从数据库中取出的Date类型的时间时我们不能这么干。
//解析字符串格式一个都不能少,否则失败
SimpleDateFormat format = new SimpleDateFormat(“EEE MMM dd hh:mm:ss z yyyy”,Locale.ENGLISH);
Date date = format.parse(dateTime);
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
string formtTime = sdf.format(date);