2016-01-08 46 views
0

我试图让这个模式“DD-MM-YYYY”与DateTime类型获取与nscala时间的特定图案的日期时间

@{DateTimeFormat.forPattern("dd-MM-YYYY").parseDateTime(user.birthday.toString)} 

的变量,但我收到此错误

java.lang.IllegalArgumentException异常:无效的格式: “2015-12-10T00:00:00.000Z” 的格式有误 “:00:15-12-10T00 00.000Z”

有没有一种办法用nscala-time做到这一点?

如果我使用UTC,会有所不同吗?

UPDATE

对于我铸造日期的时刻,这样做

@{Dates.format(user.birthday.toDate, "dd-MM-YYYY")} 

但也许是一个更好的办法,而不铸造

谢谢

+0

我觉得异常明确指出,要传递 “2015-12-10T00:00:00.000Z”,其中格式为 “DD-MM-YYYY” 的日期预计发生这种情况是因为你使用了'toString'。 'user.birthday'的类型是什么?如果要将日期更改为格式化字符串,请尝试使用格式为参数的'toString'重载'DateTime'的方法。 'DateTimeFormat'似乎也有'print'方法,并且需要日期。 –

+0

谢谢@Łukaszuser.birthday是DateTime类型(来自nscala-time库)。 – agusgambina

+0

然后以下任何方法应该工作。你可以检查joda time api而不是nscala它应该是类似的。让你的ide告诉你你有什么方法,并使用适合你需要的方法。 –

回答

0

所以,如果我正确理解你的问题,你正试图达到以下目的:

  1. 使用日期格式从字符串解析日期
  2. 以其他格式打印/显示日期。

尝试以下:

@{Dates.format(DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ").parseDateTime(user.birthday.toString), "dd-MM-YYYY")}