安卓将数据库里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] + "-" + aString s[1] + "-" + aSt rings[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等等。。


猜你喜欢

转载自blog.csdn.net/easy_purple/article/details/80779663
今日推荐