JSTL can be very useful for date formatting in JSP pages. In order to make sure JSTL is working in Google App Engine, please set this in each JSP pages or TAG files,
<%@ page isELIgnored="false"%>
<%@ tag isELIgnored="false"%>
For various sample of date formatting,
<%@ page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page isELIgnored="false"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<html>
<head>
<title>Format Date</title>
</head>
<body>
<c:set var="now" value="<%=new java.util.Date()%>" />
<table border="1" cellpadding="0" cellspacing="0"
style="border-collapse: collapse" bordercolor="#111111" width="63%"
id="AutoNumber2">
<tr>
<td width="100%" colspan="2" bgcolor="#0000FF">
<p align="center"><b> <font color="#FFFFFF" size="4">Formatting:
<fmt:formatDate value="${now}" type="both" timeStyle="long"
dateStyle="long" /> </font> </b></p>
</td>
</tr>
<tr>
<td width="51%">formatDate type="time"</td>
<td width="49%"><fmt:formatDate type="time" value="${now}" /></td>
</tr>
<tr>
<td>type="date"</td>
<td><fmt:formatDate type="date" value="${now}" /></td>
</tr>
<tr>
<td>type="both"</td>
<td><fmt:formatDate type="both" value="${now}" /></td>
</tr>
<tr>
<td>type="both" dateStyle="default" timeStyle="default"</td>
<td><fmt:formatDate type="both" dateStyle="default"
timeStyle="default" value="${now}" /></td>
</tr>
<tr>
<td>type="both" dateStyle="short" timeStyle="short"</td>
<td><fmt:formatDate type="both" dateStyle="short"
timeStyle="short" value="${now}" /></td>
</tr>
<tr>
<td>type="both" dateStyle="medium" timeStyle="medium"</td>
<td><fmt:formatDate type="both" dateStyle="medium"
timeStyle="medium" value="${now}" /></td>
</tr>
<tr>
<td>type="both" dateStyle="long" timeStyle="long"</td>
<td><fmt:formatDate type="both" dateStyle="long" timeStyle="long"
value="${now}" /></td>
</tr>
<tr>
<td>type="both" dateStyle="full" timeStyle="full"</td>
<td><fmt:formatDate type="both" dateStyle="full" timeStyle="full"
value="${now}" /></td>
</tr>
<tr>
<td>pattern="yyyy-MM-dd"</td>
<td><fmt:formatDate pattern="yyyy-MM-dd" value="${now}" /></td>
</tr>
</table>
</body>
</html>
Deploy this JSP in GAE, to see the actual result.
To show date and time in your timezone, say for example GMT+8:00, please set the following in web.xml
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.timeZone</param-name>
<param-value>GMT+8:00</param-value>
</context-param>
Thank You!
