java⽇期修改_java–更改⽇期格式
正则表达式是矫枉过正
对于⽇期时间的⼯作,不需要打扰regex.
只需尝试使⽤⼀种格式进⾏解析,捕获预期的异常.如果确实抛出了异常,请尝试使⽤其他格式进⾏解析.如果抛出异常,那么您知道输⼊意外地不是两种格式.
java.time
您正在使⽤现在由Java 8及更⾼版本内置的java.time框架取代的旧的⿇烦的⽇期时间类.新课程的灵感来⾃⾮常成功的Joda-Time框架,旨在作为其继承者,在概念上类似但重新设计.由JSR 310定义.由ThreeTen-Extra项⽬扩展.见Oracle Tutorial.
LOCALDATE的
新类包括⼀个LocalDate,仅适⽤于没有时间的⽇期值.正是你需要的.
格式化程序
您的第⼀种格式可能是标准的ISO 8601格式,YYYY-MM-DD.默认情况下,此格式⽤于java.time.
如果由于输⼊与ISO 8601格式不匹配⽽导致第⼀次解析尝试失败,则抛出DateTimeParseException.
LocalDate localDate = null;
try {
localDate = LocalDate.parse( input ); // ISO 8601 formatter used implicitly.
} catch ( DateTimeParseException e ) {
// Exception means the input is not in ISO 8601 format.
}
另⼀种格式必须由与您使⽤SimpleDateFormat类似的编码模式指定.因此,如果我们从第⼀次尝试中捕获异常,请进⾏第⼆次解析尝试.
DateTimeFormatter formatter = DateTimeFormatter.ofPattern( "MM-dd-yyyy" );
LocalDate localDate = null;
try {
localDate = LocalDate.parse( input );
} catch ( DateTimeParseException e ) {
// Exception means the input is not in ISO 8601 format.
// Try the other expected format.
try {
localDate = LocalDate.parse( input,formatter );时间正则表达式java
} catch ( DateTimeParseException e ) {
// FIXME: Unexpected input fit neither of our expected patterns.
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论