我想在JSP页面上显示格式化的日期,所以我使用:
<fmt:formatDate pattern="MMM d" value="${myEvent.date}"/>
完美无缺。它在页面上显示为
Nov 28
然而,当Google缓存它时会发生一件奇怪的事情 - 缓存页面上的日期显示如下:
2016-11-28 20:00:00.0
任何人都能解释一下吗?不应该在服务器上进行格式化吗?我的应用程序服务器(Tomcat)是否只将HTML发送到页面?谷歌如何知道这实际上是一个Java日期?
为了澄清一下,为了进入页面的缓存版本,我在Google上执行搜索,在搜索结果中显示我的页面,然后单击向下箭头并转到我页面的缓存版本。
答案 0 :(得分:-1)
显然,当没有&#34; Accept-Language&#34; HTTP标头,JSTL formatDate
标记不格式化日期,而是返回toString()
对象Date
的结果。
您可以使用cUrl来获取网页来源(而不是在Chrome中查看网页来源)来验证这一点。
底线:如果您使用的是JSTL formatDate
标记,并且希望在Google的缓存中格式化日期,则应明确设置区域设置。例如:
<fmt:setLocale value="en_US" />
我希望这有助于某人。