我创建了一个Web Service,返回一个元素的数组:
<Service>
<id>string</id>
<description>string</description>
<last_change_date>dateTime</last_change_date>
</Service>
我使用Ksoap2包从android设备中使用这个Web Service。当我使用下面的方法从Web Service中接收SoapObject时:
SoapObject response = (SoapObject)envelope.getResponse();
通常能用下面的代码获得response的内容
String str = (String)response.getProperty(index).toString();
这是能正常运行的。
但是,为了获得上次修改的时间(在SQL Server的数据库中从 datetime 字段中检索 dateTime类型),我就不能使用相同的方法。
所以,我现在在找一个方法在任何的日期格式 (Date 或 Calendar) 中转换dateTime,请问如何实现?
可以使用SimpleDateFormat类来解析dateTime字符串并将其转换为Java的Date对象。如果需要将Date对象转换为Calendar对象,可以使用Calendar.setTime(date)方法。
例如,假设您的dateTime字符串的格式是"yyyy-MM-dd'T'HH:mm:ss.SSS",您可以使用以下代码将其转换为Date对象:
String dateTimeString = response.getProperty("last_change_date").toString();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
Date date = dateFormat.parse(dateTimeString);
然后你可以把这个date对象转换成Calendar对象
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
请注意,在上面的示例中,我假设日期时间字符串的格式是"yyyy-MM-dd'T'HH:mm:ss.SSS"。如果您的日期时间字符串的格式不同,则需要更改SimpleDateFormat构造函数中的格式字符串。