将Json dateTime转换为JAVA中的String

时间:2016-03-10 13:53:53

标签: java mysql json datetime

我有: 创建时间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 "";
    }
}

但它返回了错误的细节。例如,在表格中,CreatedTime2016-03-10 14:47:04,但函数ConvertJsonDateTime返回为2016-03-11 03:17:04。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您需要设置正确的时区

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("GMT")); // GMT or any timezone

另外,正如巴特所说,你永远不会使用==!=比较字符串,总是使用equals()