我有: 创建时间TIMESTAMP, 更新时间TIMESTAMP, 状态Varchar, AutoID列
在mysql中。通过我的服务,我得到了以下json格式。
{
"CreatedTime": "\/Date(1457646424000)\/",
"UpdatedTime": "\/Date(1457647761000)\/",
"Status": "Open",
"AutoID": 1
}
我正在尝试转换CreatedTime和UpdatedTime,如下所示:
public String ConvertJsonDateTime(String jsondate)
{
if (jsondate != "" && !jsondate.equals("") && jsondate != null && jsondate != "null") {
jsondate = jsondate.replace("/Date(", "").replace(")/", "");
long time = Long.parseLong(jsondate);
Date d = new Date(time);
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d).toString();
} else {
return "";
}
}
但它返回了错误的细节。例如,在表格中,CreatedTime
为2016-03-10 14:47:04
,但函数ConvertJsonDateTime
返回为2016-03-11 03:17:04
。我该如何解决这个问题?
答案 0 :(得分:0)
您需要设置正确的时区
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("GMT")); // GMT or any timezone
另外,正如巴特所说,你永远不会使用==
或!=
比较字符串,总是使用equals()