我有一个英文工作应用程序。
但是当我将设备的语言改为法语时,我得到了一个例外。
在一项活动中,我会执行以下操作:
send(new Date.tostring());
并将其发送到我希望获取日期的其他活动。
public method (String stringDate){
new Date(date.parse(stringDate));
}
只要我处于英语模式,这个工作正常。 但是,当我进入设置并将语言更改为法语(因此我的应用程序将使用法语) 我得到一个illegalargumentException,他无法将字符串解析为日期。
非常感谢任何帮助!
答案 0 :(得分:2)
而不是发送字符串来构造日期,您应该使用getTime()
方法将毫秒作为长值发送。它是传递日期和重建日期的正确方法。例如。
发送:
long value = new Date().getTime();
重建:
Date d = new Date(value);
答案 1 :(得分:0)
它与不同语言/区域设置中使用的(可能)不同日期系统有关吗?
例如:
Imagine the following date: 02/04/03
Which does it mean?
2nd of April 2003 (European style)
4th of February 2003 (USA style)
3rd of April 2002
(取自:http://www.w3.org/QA/Tips/iso-date)
注意:我从未为Android开发过。这只是猜测