数字格式异常:无效 长整型:"588657600000-0400"



-588657600000-0400我得到我的回应是这样的。我无法将其转换为日期格式,因为这是一个无效的长。

new Date(Long.parseLong("/Date(-588657600000-0400)/")); 

无论如何,当我们以这种格式获得响应字符串时,我们实际上可以构造一个新的Date对象。这个问题和之前问过的那个问题有关。java.lang.Long.parseLong异常

这里抛出的异常是"04-09 01:39:25.793: E/AndroidRuntime(8011): java.lang.NumberFormatException: Invalid long: "588657600000-0400"

我试着看看日历类,http://docs.oracle.com/javase/6/docs/api/java/util/Calendar.html但找不到一个方法,可以得到我的日期对象没有传递Long.

如何将输入字符串分割为2个值?

Date foo2 = new Date(Long.parseLong("-588657600000") + Long.parseLong("-0400"));

btw,那个日期是:Mon May 07 16:59:59 BRT 1951 hehehe

编辑:

this不检查输入值,并假设总是有-

import java.util.Date;
public class MiMiMi {
    public static void main(String[] args) {
        String input = "/Date(-588657600000-0400)/";
        input = input.replace("/Date(", "");
        input = input.replace(")/", "");
        String[] pair = input.split("-");
        System.out.println(pair[1]);
        System.out.println(pair[2]);
        Date foo = new Date(Long.parseLong("-" + pair[1])
                + Long.parseLong("-" + pair[2]));
        System.out.println(foo);
    }
}

最新更新