android更改语言日期

时间:2012-02-09 11:36:11

标签: android date

我有一个英文工作应用程序。

但是当我将设备的语言改为法语时,我得到了一个例外。

在一项活动中,我会执行以下操作:

send(new Date.tostring());

并将其发送到我希望获取日期的其他活动。

public method (String stringDate){
new Date(date.parse(stringDate));
}

只要我处于英语模式,这个工作正常。 但是,当我进入设置并将语言更改为法语(因此我的应用程序将使用法语) 我得到一个illegalargumentException,他无法将字符串解析为日期。

非常感谢任何帮助!

2 个答案:

答案 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开发过。这只是猜测