首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >线程"main“java.time.format.DateTimeParseException: Text '14/Oct/2016 23:09:25.2110 +0530‘中的异常不能在索引0处解析

线程"main“java.time.format.DateTimeParseException: Text '14/Oct/2016 23:09:25.2110 +0530‘中的异常不能在索引0处解析
EN

Stack Overflow用户
提问于 2016-10-14 17:49:11
回答 1查看 3.3K关注 0票数 1

我只是在玩Java 8约会时间API。

我的代码看起来是这样的。

代码语言:javascript
运行
复制
LocalDateTime date=LocalDateTime.now(ZoneId.of("America/New_York"));
System.out.println("date now:"+date);
String ormat = ZonedDateTime.now().format(DateTimeFormatter.ofPattern("dd/MMM/yyyy HH:mm:ss"));
//=date.format(DateTimeFormatter.ofPattern("dd/MMM/yyyy'T'hh:mm:ss.SX Z"));
LocalDateTime date2=LocalDateTime.parse(format);

System.out.println("dsate now:"+date2);

但是它显示了这个错误

代码语言:javascript
运行
复制
Exception in thread "main" java.time.format.DateTimeParseException: Text '14/Oct/2016 23:13:57' could not be parsed at index 0

我试过这种模式

代码语言:javascript
运行
复制
String format=ZonedDateTime.now().format(DateTimeFormatter.ofPattern("dd/MMM/yyyy HH:mm:ss.SSSS Z"));

还是没起作用。

我检查了答案herehere

编辑:还有一件事,我也想知道,如果我只想要我的约会对象在这种格式?

编辑2:我尝试实现的是,有一些日期和时间,我得到了使用localDateTime,我想用格式化程序,我已经在代码中使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-14 17:58:07

您的format2生成字符串14/Oct/2016 23:26:38

您尝试用ISO_LOCAL_DATE_TIME (yyyy‘ss:mm:ss)解析输入字符串。所以你才会犯这个错误。

您必须将日期格式化程序传递给解析方法。

代码语言:javascript
运行
复制
LocalDateTime date2=LocalDateTime.now(ZoneId.of("America/New_York"));
System.out.println("date now:"+date2);
String format2=ZonedDateTime.now().format(DateTimeFormatter.ofPattern("dd/MMM/yyyy HH:mm:ss"));
System.out.println(format2);
//=date.format(DateTimeFormatter.ofPattern("dd/MMM/yyyy'T'hh:mm:ss.SX Z"));
LocalDateTime date3=LocalDateTime.parse(format2,
                DateTimeFormatter.ofPattern("dd/MMM/yyyy HH:mm:ss").withLocale(Locale.ENGLISH));

System.out.println("dsate now:"+date3);

输出:

代码语言:javascript
运行
复制
dsate now:2016-10-14T23:26:38

在评论后编辑:

您可以直接格式化LocalDateTime

代码语言:javascript
运行
复制
LocalDateTime date2=LocalDateTime.now(ZoneId.of("America/New_York"));
System.out.println("date now:"+date2);
String myDate1 = date2.format(DateTimeFormatter.ofPattern("dd/MMM/yyyy HH:mm:ss").withLocale(Locale.ENGLISH));
System.out.println("dsate now:"+myDate1);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40049193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档