我有一个字符串“ 11/15/2013 08:00:00
", I want to format it to " 11/15/2013
”,什么是正确的 DateTimeFormatter
模式?
我尝试了很多并用Google搜索,仍然无法找到正确的模式 .
编辑:我正在寻找Joda-Time DateTimeFormatter,而不是Java的SimpleDateFormat ..
我有一个字符串“ 11/15/2013 08:00:00
", I want to format it to " 11/15/2013
”,什么是正确的 DateTimeFormatter
模式?
我尝试了很多并用Google搜索,仍然无法找到正确的模式 .
编辑:我正在寻找Joda-Time DateTimeFormatter,而不是Java的SimpleDateFormat ..
8 回答
我有一个非常愚蠢但工作的选择 . 如果你有String fullDate =“11/15/2013 08:00:00”;
这应该简单快捷 . :)
只想要字符串:
如果想要日期时间:
我在这里添加这个,即使其他答案是完全可以接受的 . JodaTime在DateTimeFormat中预先构建了解析器:
这是以其格式打印出来的大多数选项:
如果您使用的是JodaTime,我认为这会有效:
我从here得到了一部分 .
另一种方法是:
我不确定,但我认为这可能比使用
.split()
方法更快/使用更少的内存 .这很有效
乔达时间
Create a DateTimeFormatter using DateTimeFormat.forPattern(String)
使用Joda时间你会这样做:
标准Java≥8
Java 8引入了new Date and Time library,使得处理日期和时间变得更加容易 . 如果要使用标准Java版本8或更高版本,则应使用DateTimeFormatter . 由于您的
String
中没有时区,java.time.LocalDateTime或LocalDate,否则可以使用时区分区ZonedDateTime和ZonedDate .标准Java <8
在Java 8之前,你将使用a SimpleDateFormat和java.util.Date