今天遇到一个奇怪的问题。同事访问我电脑发布的程序页面,freemarker日期格式报错。而其他电脑访问则没有问题。
先贴出错误信息。
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"
在官网查看了一些资料,其中提到了默认日期的格式的问题。
http://freemarker.org/docs/ref_builtins_string.html#ref_builtin_string_date
于是我在页面头部做了一个setting问题就解决了。
<#setting datetime_format="yyyy-MM-dd HH:mm:ss"/>
但是疑问在于,明明是服务器端的代码(freemarker),为何会和客户端的环境相关呢。
时间: 2024-10-07 06:28:53