string到LocalDate
如何将string转换为LocalDate
?
我见过像这样的例子:
LocalDate dt = new LocalDate("2005-11-12");
但是我的string是这样的:
2005-nov-12
当你使用Joda时间,你应该使用DateTimeFormatter
:
final DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MMM-dd"); final LocalDate dt = dtf.parseLocalDate(yourinput);
如果使用Java 8或更高版本,请参阅hertzi的答案
从Java 1.8开始,你可以在没有额外的库的情况下实现这一点:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MMM-dd"); formatter = formatter.withLocale( putAppropriateLocaleHere ); // Locale specifies human language for translating, and cultural norms for lowercase/uppercase and abbreviations and such. Example: Locale.US or Locale.CANADA_FRENCH LocalDate date = LocalDate.parse("2005-nov-12", formatter);
虽然语法几乎相同。
您可能必须从DateTime到LocalDate。
DateTimeFormatter FORMATTER = DateTimeFormat.forPattern("yyyy-MMM-dd"); DateTime dateTime = FORMATTER.parseDateTime("2005-nov-12"); LocalDate localDate = dateTime.toLocalDate();
date时间格式由org.joda.time.format.DateTimeFormatter class
执行。 三个类提供工厂方法来创build格式化程序 ,这是一个。 其他的是ISODateTimeFormat
和DateTimeFormatterBuilder
。
DateTimeFormatter format = DateTimeFormat.forPattern("yyyy-MMM-dd"); LocalDate lDate = new LocalDate().parse("2005-nov-12",format);
final org.joda.time.LocalDate class
是一个不可变的date时间类,代表没有时区的date。 LocalDate
是线程安全和不可变的 ,只要还有年表 。 所有提供的标准年表类都是线程安全和不可变的。
- Java:将string转换为ByteBuffer以及相关的问题
- 必须使用GeoLocationtypes的封闭实例限定分配
- instanceof被认为是不好的做法? 如果是这样,那么在什么情况下仍然是可取的呢?
- Java读取文件到一个ArrayList?
- 如何使用OkHttp设置连接超时
- 如何从字母数字文本中删除前导零?
- org.hibernate.HibernateException:当“hibernate.dialect”未设置时,对DialectResolutionInfo的访问不能为null
- 什么是JAVA_HOME? JVM如何find存储在JAVA_HOME中的javacpath?
- 是否有任何API将Microsoft Exchange服务器与Java应用程序进行任务同步?