栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Joda Time错误还是我的错误?(Java Joda Time日期作为字符串解析)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Joda Time错误还是我的错误?(Java Joda Time日期作为字符串解析)

如果有人感兴趣…我发现了一个解决方法:

  • 创建一个新类,例如
    IslamicChronologyWithNames
    ,它委托
    IslamicChronology
    org.joda.time.DateTimeZone中 的实例。 __
  • 修改一种方法;
    assemble(Fields fields)
    :调用委托的方法,然后将fields.monthOfYear(可能还有dayOfWeek)设置为您自己的
    BasicMonthOfYearDateTimeField
  • 然后,
    BasicMonthOfYearDateTimeField
    can 的子类可以在属性文件名称中查找月份名称(如果是DayOfWeek,则为天)。子类必须位于 org.joda.time.chrono 包中才能进行扩展
    BasicMonthOfYearDateTimeField

仍然存在一个问题,即Joda time似乎在调用子类的方法之前先验证要解析的日期

getAsText(int fieldValue, Localelocale)
,因为并且它不知道类返回的月份名称,验证失败,因此从不调用方法。我的解决方法是在此类中使用静态方法,该方法将带有伊斯兰月份名称的日期转换为带有格里高里英语月份名称的日期作为字符串。因此,在调用之前
parseDateTime()
,先调用静态方法,然后日期字符串通过验证。然后,不要在
convertText()
方法中处理伊斯兰月份的名称,而是在子类中使用默认的gregorian实现:

protected int convertText(String text, Locale locale){    return GJLocaleSymbols.forLocale(locale).monthOfYearTextToValue(text);}

那应该工作!希望对遇到相同问题的任何人都有意义。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/469887.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号