Java NumberFormatException:无效的long:";588657600000-0400“;
Java NumberFormatException:无效的long:";588657600000-0400“;,java,Java,-588657600000-0400我得到的回复是这样的。我无法将其转换为日期格式,因为这是一个无效的长字符 new Date(Long.parseLong("/Date(-588657600000-0400)/")); 无论如何,当我们得到这种格式的响应字符串时,我们实际上可以构造一个新的日期对象。这个问题与先前提出的这个问题有关 这里抛出的异常是“04-09 01:39:25.793:E/AndroidRuntime(8011):java.lang.NumberFormatExcepti
-588657600000-0400
我得到的回复是这样的。我无法将其转换为日期格式,因为这是一个无效的长字符
new Date(Long.parseLong("/Date(-588657600000-0400)/"));
无论如何,当我们得到这种格式的响应字符串时,我们实际上可以构造一个新的日期对象。这个问题与先前提出的这个问题有关
这里抛出的异常是“04-09 01:39:25.793:E/AndroidRuntime(8011):java.lang.NumberFormatException:无效的long:“588657600000-0400”
我试图查看Calendar类,但找不到一个方法可以在不经过长时间的情况下获取Date对象。将输入字符串拆分为两个值怎么样
Date foo2 = new Date(Long.parseLong("-588657600000") + Long.parseLong("-0400"));
顺便说一句,日期是:Mon-May 07 16:59:59 BRT 1951
hehehe
编辑:
这不检查输入值,并假设所有方式都有负数
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);
}
}
如果您没有注意到,这里有一个连字符。
/Date(-588657600000-0400)/
不是有效的长值…伙计们,我同意它不是有效的长值,但我如何获得日期…这实际上是完美的毫秒数…你想做什么?你如何将该表达式转换为长的
?-0400来自哪里?它来自服务…我得到的日期字符串如下“/Date”(-588657600000-0400)/“我只需删除“/Date”(“and”)/”并使用“-”进行拆分,然后转换每个部分,并求和