joda时间解析方法return格式
joda time parse method return format
我有一个非常简单的问题 - 我在这里阅读了几个主题,但我仍然不明白如何获得简单的东西。我想将字符串发送到方法并取回 joda 日期。我构建它没有问题,但是 return 格式是 2015-03-11T17:13:09:000+01:00。我怎样才能从下面提到的方法中获得所需的(例如 mmm-dd hh:mm)格式(它必须是一个 dateTime,以便在 FX 表单上进行排序)?我试图用另一个 dateTimeFormatter 赌博,但没有运气。非常感谢您
public static DateTime stringToDateTime(String textDate) throws ParseException
{
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS");
DateTime jodaTime = dateTimeFormatter.parseDateTime(textDate);
return jodaTime;
}
"return format" 是什么意思? "Format" 此处的术语只能与 DateTime
对象的字符串表示形式相关。这意味着您应该指定输入字符串的格式(您已经在代码中完成的操作)- 并且将创建相应的 DateTime
对象。之后你可能使用 toString()
来检查结果,但是 DateTime.toString()
根据 JavaDoc 使用 ISO8601 格式 (yyyy-MM-ddTHH:mm:ss.SSSZZ) - 这给了你你的 2015-03-11T17:13:09:000+01:00
结果。
因此,要根据需要获取它,您可以尝试使用具有所需格式的 toString(String pattern)
方法。但再一次 - 它只是一种将 DateTime
转换为 String
的输出格式,它 不会 影响存储在 DateTime
对象中的日期时间。
我只使用 Calendar 对象,所以这是一种可行的方法:
static String stringToDateTime(String textDate) {
Calendar c = new GregorianCalendar();
// How you want the input to be formatted
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date = df.parse(textDate);
c.setTime(date);
} catch (ParseException e) {
e.printStackTrace();
}
// How do you want to print your date
df= new SimpleDateFormat("dd-MM-yy");
return df.format(c.getTime());
}
// input
String myDate = "2015-04-15 14:25:25";
System.out.println(stringToDateTime(myDate));
我有一个非常简单的问题 - 我在这里阅读了几个主题,但我仍然不明白如何获得简单的东西。我想将字符串发送到方法并取回 joda 日期。我构建它没有问题,但是 return 格式是 2015-03-11T17:13:09:000+01:00。我怎样才能从下面提到的方法中获得所需的(例如 mmm-dd hh:mm)格式(它必须是一个 dateTime,以便在 FX 表单上进行排序)?我试图用另一个 dateTimeFormatter 赌博,但没有运气。非常感谢您
public static DateTime stringToDateTime(String textDate) throws ParseException
{
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS");
DateTime jodaTime = dateTimeFormatter.parseDateTime(textDate);
return jodaTime;
}
"return format" 是什么意思? "Format" 此处的术语只能与 DateTime
对象的字符串表示形式相关。这意味着您应该指定输入字符串的格式(您已经在代码中完成的操作)- 并且将创建相应的 DateTime
对象。之后你可能使用 toString()
来检查结果,但是 DateTime.toString()
根据 JavaDoc 使用 ISO8601 格式 (yyyy-MM-ddTHH:mm:ss.SSSZZ) - 这给了你你的 2015-03-11T17:13:09:000+01:00
结果。
因此,要根据需要获取它,您可以尝试使用具有所需格式的 toString(String pattern)
方法。但再一次 - 它只是一种将 DateTime
转换为 String
的输出格式,它 不会 影响存储在 DateTime
对象中的日期时间。
我只使用 Calendar 对象,所以这是一种可行的方法:
static String stringToDateTime(String textDate) {
Calendar c = new GregorianCalendar();
// How you want the input to be formatted
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date = df.parse(textDate);
c.setTime(date);
} catch (ParseException e) {
e.printStackTrace();
}
// How do you want to print your date
df= new SimpleDateFormat("dd-MM-yy");
return df.format(c.getTime());
}
// input
String myDate = "2015-04-15 14:25:25";
System.out.println(stringToDateTime(myDate));