0

我创建了一个 Web 服务,它返回如下元素数组:

<Service>
    <id>string</id>
    <description>string</description>
    <last_change_date>dateTime</last_change_date>
</Service>

我正在从 Android 设备使用此 Web 服务,并且正在使用 Ksoap2 包。当我使用以下方法从 Web 服务接收 SoapObject 时:

SoapObject response = (SoapObject)envelope.getResponse();

我通常使用以下代码获取响应内容:

String str = (String)response.getProperty(index).toString();

而这个,通常效果很好!
但是,为了获取 last_change_date(类型 dateTime 从 SQL Server 上的数据库中的 datetime 字段检索),我不能使用相同的方法。

因此,我正在寻找一种在 Android 中以任何日期格式(日期或日历)转换 dateTime 的机制。

4

1 回答 1

0

是的,您仍然可以使用该方法获取参数的值。然后您要做的就是将字符串解析为 Date 对象。

例如定义格式:

private static final SimpleDateFormat httpHeaderDateFormatter =
    new SimpleDateFormat("EEE, dd MMM yyyy hh:mm:ss z", Locale.US);

并实现这样的解析方法:

private Date parseLastModified(String lastModified) {
    Date date = null;
    if (lastModified != null && lastModified.length() > 0) {
        try {
            date = httpHeaderDateFormatter.parse(lastModified);
        } catch (ParseException e) {
            // otherwise we just leave it empty
        }
    }
    return date;
}

当然,您必须使其适应从服务器获得的任何格式以及您想要拥有的任何逻辑,例如当没有价值时..

于 2012-08-24T15:50:54.427 回答