将jsonObject Date转换为dd:mm:yyyy格式的字符串在android中

时间:2015-09-30 13:24:33

标签: java android jsondate

我从这样的数据库获取jsonObject Date

JsonDate

"date_of":"\/Date(1251763200000)\/"
  

方法1

public String getDatefromJson1(String jsonDate) {
        String timeString = jsonDate.substring(jsonDate.indexOf("(") + 1, jsonDate.indexOf(")"));
        String[] timeSegments = timeString.split("\\+");
        // May have to handle negative timezones
        int timeZoneOffSet = Integer.valueOf(timeSegments[1]) * 36000; // (("0100" / 100) * 3600 * 1000)
        int millis = Integer.valueOf(timeSegments[0]);
        Date time = new Date(millis + timeZoneOffSet);
        return new SimpleDateFormat("MM/dd/yyyy hh:mm a").format(time);
    }
  

方法2

public String getDatefromJson(String jsonDate) {
        String json = jsonDate;
        String timestamp = jsonDate.split("\\(")[1].split("\\+")[0];
        Date createdOn = new Date(Long.parseLong(timestamp));
        System.out.println("createdOn---->"+createdOn);
        System.out.println(new SimpleDateFormat("MM/dd/yyyy hh:mm a").format(createdOn));
        return new SimpleDateFormat("MM/dd/yyyy hh:mm a").format(createdOn);
    }

两次获得相同的logcat错误

java.lang.NumberFormatException: Invalid long: "1251763200000)/"
            at java.lang.Long.invalidLong(Long.java)
            at java.lang.Long.parse(Long.java)
            at java.lang.Long.parseLong(Long.java)
            at java.lang.Long.parseLong(Long.java)

1 个答案:

答案 0 :(得分:0)

方法2:

而不是

“String timestamp = jsonDate.split(”\(“)[1] .split(”\ +“)[0];”

使用此“

  

字符串timestamp2 = timeStamp.split(“\(”)[1] .split(“\)”)[0];