gpt4 book ai didi

android - Joda DateTimeFormat 在多个设备中表现不同 (Android)

转载 作者:行者123 更新时间:2023-11-30 03:48:57 26 4
gpt4 key购买 nike

我正在尝试使用 Joda 时间库格式化日期,但我的问题是它的行为因执行的设备而异。这是我的代码:

public static String parseDate (String date)
{
final String datePattern = "yyyy-MM-dd, ";
final String hourPattern = "HH:mm";

DateTimeParser[] parsers = {
DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss Z").getParser(),
DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss ZZZ").getParser(),
DateTimeFormat.forPattern("yyy-MM-dd'T'HH:mm:ss.SSSZ").getParser()};

DateTimeFormatter formatter = new DateTimeFormatterBuilder().append( null, parsers).toFormatter();

String daux = "";
try
{
DateTime dt = formatter.parseDateTime(date);
String pubDate = dt.toString(datePattern);
String pubHour = dt.toString(hourPattern);
daux = pubDate + "kl " + pubHour;
}
catch (Exception e)
{
e.printStackTrace();
}

return daux;
}

日期“2012 年 4 月 24 日星期二 11:06:19 GMT”在 Nexus 4 中格式正确,但在三星 GS2 中执行时引发异常。我真的不知道它可能是什么。

异常(exception)是:

01-22 15:21:05.160: W/System.err(11718): java.lang.IllegalArgumentException: Invalid format: "Sun, 20 Jan 2013 23:27:00 GMT"
01-22 15:21:05.160: W/System.err(11718): at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:866)
01-22 15:21:05.160: W/System.err(11718): at com.fotbollskanalen.parser.DateParser.parseDate(DateParser.java:150)

有什么想法吗?

最佳答案

您可能在解析时遇到特定于语言环境的问题。

来自 DateTimeFormatter.forPattern()文档:

The format may contain locale specific output, and this will change as you change the locale of the formatter. Call DateTimeFormatter.withLocale(Locale) to switch the locale. For example:

DateTimeFormat.forPattern(pattern).withLocale(Locale.FRANCE).print(dt);

UPD

您应该将行更改为:

DateTimeFormatter formatter = new DateTimeFormatterBuilder().append( null, parsers).toFormatter().withLocale(Locale.ENGLISH);

关于android - Joda DateTimeFormat 在多个设备中表现不同 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14460958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com