我正在使用JodaTime获取创建帐户的日期和时间。格式为
SkillOwnerIntent
当我得到它时,我将它作为字符串存储在我的数据库中,所以我一直在寻找将字符串格式化为LocalDate的方法,但在我在网上找到的任何内容都没有成功。我的下一步是一个可怕的解决方案,在我看来循环遍历字符串,直到我找到T并删除它之后的所有内容。所以我离开了
2017-04-05T12:38:35.585
但理想情况下,如果可能的话,日期为
2017-04-05.
答案 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()
输出结果相同。