-3

I am getting jsonObject Date from database like this

JsonDate

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

Method 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);
    }

Method 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);
    }

Both the time getting same logcat error

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)
oguz ismail
  • 1
  • 16
  • 47
  • 69
Vaibs_Cool
  • 6,126
  • 5
  • 28
  • 61

1 Answers1

0

Method 2:

instead of

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

use this "

String timestamp2 = timeStamp.split("\(")[1].split("\)")[0];

"

gairikd
  • 1
  • 1