安卓将数据库里Fri Jun 22 19:50:49 GMT+08:00 2018格式转化为正常格式

版权声明:转载请标明出处哦 https://blog.csdn.net/easy_purple/article/details/80779663
在安卓数据库存储时间的时候,直接存储的New Date(),然而当读取数据库的时候,读出来的字符串为Fri Jun 22 19:50:49 GMT+08:00 2018,当然我们想要的是18-06-22 21:41

接下来来说一下,通过读取数据库获得的字符串时间,进行格式化,进而转化为我们想要的格式:
通过游标来获得的时间数据:cursor.getString(2);返回的是一个字符串:Fri Jun 22 19:50:49 GMT+08:00 2018
我们先把这个字符串转化为Date格式:
public static Date formatDate2(String dateStr) {
             String[] aStrings = dateStr.split(" ");
             // 5
             if (aStrings[1].equals("Jan")) {
                 aStrings[1] = "01";
             }
             if (aStrings[1].equals("Feb")) {
                 aStrings[1] = "02";
             }
             if (aStrings[1].equals("Mar")) {
                 aStrings[1] = "03";
             }
             if (aStrings[1].equals("Apr")) {
                 aStrings[1] = "04";
             }
             if (aStrings[1].equals("May")) {
                 aStrings[1] = "05";
             }
             if (aStrings[1].equals("Jun")) {
                 aStrings[1] = "06";
             }
             if (aStrings[1].equals("Jul")) {
                 aStrings[1] = "07";
             }
             if (aStrings[1].equals("Aug")) {
                 aStrings[1] = "08";
             }
             if (aStrings[1].equals("Sep")) {
                 aStrings[1] = "09";
             }
             if (aStrings[1].equals("Oct")) {
                 aStrings[1] = "10";
             }
             if (aStrings[1].equals("Nov")) {
                 aStrings[1] = "11";
             }
             if (aStrings[1].equals("Dec")) {
                 aStrings[1] = "12";
             }
             DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
             String date = aStrings[5] + "-" + aStrings[1] + "-" + aStrings[2] + " " + aStrings[3];
             Date datetime = null;
             try {
                 datetime = df.parse(date);
             } catch (ParseException e) {
                 // TODO Auto-generated catch block
                 e.printStackTrace();
             }
             return datetime;
         }

然后,我们将获得的Date转化为我们想要的格式
//将数据库中的时间(字符串)格式转化为相应的格式
                String str="";
                SimpleDateFormat sdf1=new SimpleDateFormat("yy-MM-dd HH:mm",Locale.CHINA);
                Date d=formatDate2(cursor.getString(2));
                str=sdf1.format(d);
str即是我们想要的格式的字符串了。

如果想要   06-22  这种格式,只需将代码改为
SimpleDateFormat sdf1=new SimpleDateFormat("MM-dd",Locale.CHINA);
 以此类推,06-22 19:21等等。。


没有更多推荐了,返回首页