核心程式碼
<%
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH); // 注意:0-11 代表 1-12 月
int day = c.get(Calendar.DAY_OF_MONTH); // 正確常數為 DAY_OF_MONTH
%>
頁面顯示調用
目前伺服器時間:<%=year%> 年 <%=month + 1%> 月 <%=day%> 日
完整範例
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.Calendar" %>
<html>
<head><title>伺服器時間</title></head>
<body>
<%
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1; // 月份需 +1
int day = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
%>
<h2>伺服器當前時間:<%=year%>-<%=month%>-<%=day%> <%=hour%>:<%=minute%>:<%=second%></h2>
</body></html>
常用 Calendar 常數對照
| 常數 | 含義 | 範圍 |
| YEAR | 年份 | 如 2024 |
| MONTH | 月份 (0 基底) | 0-11 (需 +1) |
| DAY_OF_MONTH | 月份中的第幾天 | 1-31 |
| HOUR_OF_DAY | 24 小時制小時 | 0-23 |
| MINUTE | 分鐘 | 0-59 |
| SECOND | 秒 | 0-59 |
| DAY_OF_WEEK | 星期幾 | 1(日)-7(六) |
進階:格式化輸出
<%@ page import="java.text.SimpleDateFormat" %>
<%
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
String formatted = sdf.format(new java.util.Date());
%>
<%=formatted%> <!-- 輸出:2024-01-15 14:30:45 一 -->