今天遇到一个奇怪的问题。同事访问我电脑发布的程序页面,freemarker日期格式报错。而其余电脑访问则没有问题。html
先贴出错误信息。服务器
FreeMarker template error
The string doesn't match the expected date/time/date-time format. The string to parse was: "2015-08-27 11:50:35.013". The expected format was: "MMM d, yyyy h:mm:ss a".
The nested reason given follows:
Unparseable date: "2015-08-27 11:50:35.013"
----
FTL stack trace ("~" means nesting-related):
- Failed at: ${model.jzUser.scdlsj?datetime} [in template "right.htm" at line 80, column 49]
----
Java stack trace (for programmers):
----
freemarker.core._TemplateModelException: [... Exception message was already printed; see it above ...]
也就是说,默认的日期格式在同事的电脑变成了:"MMM d, yyyy h:mm:ss a"ui
在官网查看了一些资料,其中提到了默认日期的格式的问题。spa
http://freemarker.org/docs/ref_builtins_string.html#ref_builtin_string_datecode
因而我在页面头部作了一个setting问题就解决了。orm
<#setting datetime_format="yyyy-MM-dd HH:mm:ss"/>
可是疑问在于,明明是服务器端的代码(freemarker),为什么会和客户端的环境相关呢。htm