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

java-如何检查Calendar实例最初是错误的日期

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

java-如何检查Calendar实例最初是错误的日期

tl; dr

OffsetDateTime.parse( "2015-07-35T09:32:05.543+02:00" )     … catch ( DateTimeParseException e )

java.time

麻烦的旧日期,时间类,如

java.util.Date
java.util.Calendar
java.text.SimpleDateFormat
现在的遗产,由取代java.time内置到Java 8的Java 9班。

同样,Joda-Time项目现在处于维护模式,团队建议迁移到java.time类。

OffsetDateTime
DateTimeParseException

要确定无效的日期时间字符串,请尝试分析和捕获异常。假设您的输入具有与UTC的偏移量,但没有时区,则将其解析为

OffsetDateTime
对象。无效的输入throw
DateTimeParseException

String inputGood = "2015-07-30T09:32:05.543+02:00" ;String inputBad = "2015-07-35T09:32:05.543+02:00" ;try{     // Good    OffsetDateTime odtGood = OffsetDateTime.parse( inputGood ) ;    System.out.println( "odtGood.toString(): " + odtGood ) ;    // Bad    OffsetDateTime odtBad = OffsetDateTime.parse( inputBad ) ;    System.out.println( "odtBad.toString(): " + odtBad ) ;} catch ( DateTimeParseException e ) {    System.out.println( e ) ;}

请参阅在IdeOne.com上实时运行的代码。

odtGood.toString():2015-07-30T09:32:05.543 + 02:00

java.time.format.DateTimeParseException:无法解析文本‘2015-07-35T09:32:05.543 +
02:00’:DayOfMonth的值无效(有效值1-28/31):35


关于java.time

该java.time框架是建立在Java
8和更高版本。这些类取代麻烦的老传统日期时间类,如

java.util.Date
Calendar
,和
SimpleDateFormat

现在处于维护模式的Joda-
Time项目建议迁移到java.time类。

要了解更多信息,请参见Oracle教程。并在Stack
Overflow中搜索许多示例和说明。规格为JSR 310。

在哪里获取java.time类?

  • Java SE 8Java SE 9 和更高版本
    • 内置的
    • 标准Java API的一部分,具有捆绑的实现。
    • Java 9添加了一些次要功能和修复。
  • Java SE 6Java SE 7
    • java.time的许多功能在 ThreeTen- Backport中都被反向移植到Java 6和7 。
  • 安卓系统
    • 更高版本的Android捆绑了java.time类的实现。
    • 对于较早的Android, ThreeTenABP 项目改编了 ThreeTen-Backport (如上所述)。

ThreeTen-额外
项目与其他类扩展java.time。该项目是将来可能向java.time添加内容的试验场。你可能在这里找到一些有用的类,比如

Interval
YearWeek
YearQuarter
,和更多。



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

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

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