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

本文介绍了如何将Android数据库中存储的日期字符串`Fri Jun 22 19:50:49 GMT+08:00 2018`转换为正常格式如`18-06-22 21:41`。首先通过游标获取时间字符串,然后使用split()方法和条件判断转换月份缩写,接着用SimpleDateFormat解析并格式化为期望的日期和时间格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在安卓数据库存储时间的时候,直接存储的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等等。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值