我只是在玩Java 8约会时间API。
我的代码看起来是这样的。
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);但是它显示了这个错误
Exception in thread "main" java.time.format.DateTimeParseException: Text '14/Oct/2016 23:13:57' could not be parsed at index 0我试过这种模式
String format=ZonedDateTime.now().format(DateTimeFormatter.ofPattern("dd/MMM/yyyy HH:mm:ss.SSSS Z"));还是没起作用。
编辑:还有一件事,我也想知道,如果我只想要我的约会对象在这种格式?
编辑2:我尝试实现的是,有一些日期和时间,我得到了使用localDateTime,我想用格式化程序,我已经在代码中使用。
发布于 2016-10-14 17:58:07
您的format2生成字符串14/Oct/2016 23:26:38
您尝试用ISO_LOCAL_DATE_TIME (yyyy‘ss:mm:ss)解析输入字符串。所以你才会犯这个错误。
您必须将日期格式化程序传递给解析方法。
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);输出:
dsate now:2016-10-14T23:26:38在评论后编辑:
您可以直接格式化LocalDateTime
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);https://stackoverflow.com/questions/40049193
复制相似问题