从LocalDateTime字符串到LocalDate的Joda时间

时间:2017-04-05 18:19:49

标签: java android jodatime

我正在使用JodaTime获取创建帐户的日期和时间。格式为

SkillOwnerIntent

当我得到它时,我将它作为字符串存储在我的数据库中,所以我一直在寻找将字符串格式化为LocalDate的方法,但在我在网上找到的任何内容都没有成功。我的下一步是一个可怕的解决方案,在我看来循环遍历字符串,直到我找到T并删除它之后的所有内容。所以我离开了

2017-04-05T12:38:35.585

但理想情况下,如果可能的话,日期为

2017-04-05. 

2 个答案:

答案 0 :(得分:3)

使用ISODateTimeFormat获取LocalDateTime,然后从LocalDate获取Locale。 小心使用正确的String input="2017-04-05T12:38:35.585"; LocalDateTime ldt = ISODateTimeFormat.localDateOptionalTimeParser() .withLocale(Locale.ENGLISH) .parseLocalDateTime(input); System.out.println(ldt.toLocalDate());//prints 2017-04-05

FromDateQuery = if FromDate = "" then "" else "@FromDate = '"& DateTime.ToText(DateTime.From(FromDate), "dd/MM/yyyy HH:mm:ss")&"',",

答案 1 :(得分:2)

我正在使用 joda-time 2.7

if (evt.getPropertyName().toString().contains("fileFilterChanged")) { if (savefile.getFileFilter().equals(filter2) && savefile.getSelectedFile().getName()==null) { savefile.setSelectedFile(new File(".java")); }else if(savefile.getFileFilter().equals(filter2) && savefile.getSelectedFile()!=null){ String getName=savefile.getSelectedFile().getName().toString(); savefile.setSelectedFile(new File(getName+".java")); }else{ System.out.println(savefile.getSelectedFile()+"3"); } }else{ System.out.println(savefile.getSelectedFile()+"4"); } 类有一个构造函数,它接受LocalDateTime并解析它。然后,您只需使用您想要的模式调用String方法:

toString()

输出:

String input = "2017-04-05T12:38:35.585";
LocalDateTime d = new LocalDateTime(input);
System.out.println(d.toString("dd/MM/yyyy"));

注意:您还可以使用05/04/2017 进行解析,使用ISODateTimeFormat代替DateTimeFormatter来获取输出:

toString()

输出结果相同。