JSP 日期处理学习笔记

日期类别

在 JSP 中,日期可以分为以下两类:

  1. java.util.Date
    • 表示一个精确到毫秒的日期和时间。
  2. java.sql.Date
    • 表示一个只包含日期的值。

日期格式化

在 JSP 中,使用 SimpleDateFormat 类来格式化日期。常用的格式化字符如下:

字符 描述
y
M
d
H 小时
m 分钟
s

例如,以下代码将 Date 对象格式化为 "yyyy-MM-dd HH:mm:ss" 格式的字符串:

javaCopy Code
<% Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String strDate = sdf.format(date); out.print(strDate); %>

日期计算

在 JSP 中,可以使用 Calendar 类来进行日期计算。常用的方法如下:

方法 描述
add(int field, int amount) 在日期字段上加上或减去指定的时间量
get(int field) 返回指定日期字段的值
set(int field, int value) 设置指定日期字段的值

例如,以下代码将当前日期加上 10 天并打印出来:

javaCopy Code
<% Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 10); Date date = cal.getTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String strDate = sdf.format(date); out.print(strDate); %>

实例

以下是一个完整的 JSP 页面,演示了如何格式化日期并进行日期计算。

htmlCopy Code
<%@ page language="java" %> <html> <head> <title>JSP 日期处理学习笔记</title> </head> <body> <h1>JSP 日期处理学习笔记</h1> <p>当前时间是:<% Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String strDate = sdf.format(date); out.print(strDate); %></p> <p>十天后的日期是:<% Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 10); date = cal.getTime(); sdf = new SimpleDateFormat("yyyy-MM-dd"); strDate = sdf.format(date); out.print(strDate); %></p> </body> </html>

输出结果:

Copy Code
JSP 日期处理学习笔记 当前时间是:2023-06-03 09:23:22 十天后的日期是:2023-06-13