Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JAVA中将Json dateTime转换为字符串_Java_Mysql_Json_Datetime - Fatal编程技术网

在JAVA中将Json dateTime转换为字符串

在JAVA中将Json dateTime转换为字符串,java,mysql,json,datetime,Java,Mysql,Json,Datetime,我有: CreatedTime时间戳, 更新的时间戳, 状态Varchar, 自动标识列 在mysql中。通过我的服务,我得到了以下json格式 { "CreatedTime": "\/Date(1457646424000)\/", "UpdatedTime": "\/Date(1457647761000)\/", "Status": "Open", "AutoID": 1 } 我正在尝试转换CreatedTime和Updat

我有: CreatedTime时间戳, 更新的时间戳, 状态Varchar, 自动标识列

在mysql中。通过我的服务,我得到了以下json格式

 {
        "CreatedTime": "\/Date(1457646424000)\/",
        "UpdatedTime": "\/Date(1457647761000)\/",
        "Status": "Open",
        "AutoID": 1
 }
我正在尝试转换CreatedTime和UpdateTime,如下所示:

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
。如何修复此问题?

您需要设置正确的时区

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

而且,正如巴特所说,你永远不会使用
==
来比较字符串=
,始终使用
equals()

可能您必须为您的
SimpleDateFormat
jsondate设置正确的
时区=“
->永远不要使用
==
在Java中复制字符串=:并放置
jsondate=null
表达式中最左侧:如果为null,
!jsondate.equals(“”)将抛出一个NPE