以下内容引用自http://wiki.jikexueyuan.com/project/jsp/handling-date.html

使用JSP的一个最重要的优点是,可以使用核心Java中所有有效的方法。本教程将使用Java提供的Date类,它在java.util包是有效的,这个类封装了当前的日期和时间。

这个Date类支持两种构造函数。第一种构造函数是初始化当前日期和时间的对象。

Date( )

下面的构造函数是设置一个参数,该参数是从1970年1月1日凌晨0点开始至今的毫秒数。

Date(long millisec)

一旦有一个有效的Date对象,就可以调用以下任何支持的方法实现日期:

方法 描述

boolean after(Date date)

如果调用的Date对象包含的日期晚于指定的日期,则返 true,否则返回false。

boolean before(Date date)

如果调用的Date对象包含的日期早于指定的日期,则返回true,否则返回false。

Object clone( )

重复调用的Date对象。

int compareTo(Date date)

比较调用的Date对象与Date的值。如果值是相等的,则返回0。如果调用的Date对象比Date更早,则返回一个负数。如果调用Date 对象是晚于Date的,则返回一个正数。

int compareTo(Object obj)

如果obj是Date类,则操作与compareTo(Date)是同一个,否则抛出ClassCastException异常。

boolean equals(Object date)

如果调用的Date对象与指定的日期有相同的时间和日期,则返回true,否则返回false。

long getTime( )

返回从1970年1月1日凌晨0点开始至今的毫秒数。

int hashCode( )

返回调用对象的哈希编码

void setTime(long time)

由指定的时间设置时间和日期,它表示从1970年1月1日凌晨0点开始到指定时间的毫秒数。

String toString( )

转换调用的Date对象到String类型,并且返回该结果。

一、得到当前日期&时间

在JSP程序中,很容易得到当前日期和时间。可以使用一个简单的Date对象调用toString()方法来输出当前的日期和时间,如下所示:

<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>Display Current Date & Time</title>
</head>
<body>
<center>
<h1>Display Current Date & Time</h1>
</center>
<%
Date date = new Date();
out.print( "<h2 align=\"center\">" +date.toString()+"</h2>");
%>
</body>
</html>

现在保存CurrentDate.jsp中的代码,然后使用URL:http://localhost:8080/CurrentDate.jsp来调用此JSP。将产生如下结果:

尝试刷新URL:http://localhost:8080/CurrentDate.jsp,将会发现每一次刷新都会有几秒钟的区别。

二、日期比较

正如上面提到的,可以使用所有有效的Java方法在Script中。如果需要比较两个日期,下面是方法:

  • 可以用getTime()方法分别获得这两个对象从1970年1月1日凌晨0点开始至今的毫秒数,然后比较这两个值。

  • 可以使用方法before(),after()和equals()。因为每月的12日在18日之前,例如,new Date(99,2,12).before(new Date(99,2,18)),返回 true。

  • 可以使用compareTo()方法,它由Comparable接口定义并且由Date实现。

三、用SimpleDateFormat实现日期格式化

SimpleDateFormat是用对语言环境敏感的方式来格式化和解析日期的具体类。SimpleDateFormat允许对日期时间格式来选择任何用户定义的模式开始。

修改上面的例子,如下所示:

<%@ page import="java.io.*,java.util.*" %>
<%@ page import="java.text.*" %>
<html>
<head>
<title>Display Current Date & Time</title>
</head>
<body>
<center>
<h1>Display Current Date & Time</h1>
</center>
<%
Date dNow = new Date( );
SimpleDateFormat ft =
new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
out.print( "<h2 align=\"center\">" + ft.format(dNow) + "</h2>");
%>
</body>
</html>

使用URL:http://localhost:8080/CurrentDate.jsp,将产生如下结果:

四、Simple DateFormat格式化代码

指定时间格式使用一个时间模式字符串。在这个模式中,所有ASCII字母被保留为模式字母,它们被定义为如下:

字符 描述 例子
G 时代指示符 AD
y 四位数的某年 2001
M 一年中的某月 July or 07
d 一月中的某日 10
h A.M./P.M. (1~12)的某小时 12
H 一天 (0~23)中的某小时 22
m 一小时中的某分钟 30
s 一分钟中的某秒 55
S 毫秒 234
E 一周中的某天 Tuesday
D 一年中的某天 360
F 一月中的一周的某天 2 (second Wed. in July)
w 一年中的某周 40
W 一月中的某周 1
a A.M./P.M.标记 PM
k 一天(1~24)中的某小时 24
K A.M./P.M. (0~11)的某小时 10
z 时区 Eastern Standard Time
' 消逝的文本 Delimiter
" 单引号 `

对于一个用不变且有效的方法来操作日期的完整清单,可以参考标准的Java文档。

测试工程:https://github.com/easonjim/5_java_example/tree/master/jspbasics/test12

JSP处理日期的更多相关文章

  1. JSP JS 日期控件的下载、使用及注意事项

    网上流行的时间日期控件比较多,个人觉得My97DatePicker的日期控件不错,值得推荐. 具体的使用过程如下: 1.下载My97DatePicker.rar或 My97DatePickerBeta ...

  2. js jsp 时间 日期 控件 插件 简单 实用

    js时间控件一般都是找网上的用,这东西平常很少涉及到,一用到找起来却烦死人,不是没用就是太复杂,今天向大家推荐一个简单实用的控件,该控件在不断更新,而且有专门的网站对它进行维护,所以值得一看. 先说它 ...

  3. jsp页面日期格式不正确

    第一种: 如果是从数据库获取的时间(数据库中日期格式是乱的)可以在数据库取数据时   进行格式化   例如  ;TO_CHAR(SYSDATE,'YYYY-MM-DD') 第二种: 在数据库取出数据后 ...

  4. struts2 jsp提交日期类型转换及国际化实现

    概述:下面通过jsp提交输入注册信息信息,同时完成过程文件国家化问题演示说明.[注册日期转换用注解方式实现] 工程截图: 注册页面jsp文件: <%@ page language="j ...

  5. jsp格式化日期

    1.先引入JSTL库 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> ...

  6. JSP的体系结构

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/architecture.html: Web服务器需要一个JSP引擎,即处理JSP页面的容器.JSP容器负 ...

  7. struts2各个功能详解(1)----参数自动封装和类型自动转换

    struts2里面的各个功能,现在确实都不清楚,完全属于新学! 通过前面的例子,有时就会疑问,这些jsp中的数据信息是怎么传送给action的?例如: <form action = " ...

  8. jQuery easyUI的datagrid,如何在翻页以后仍能记录被选中的行

    1.先给出问题解决后的代码 <%@ page language="java" import="java.util.*" pageEncoding=&quo ...

  9. EL_JSTL

    EL(Expression Language)EL表达式 作用:在JSP中消灭java代码 语法: "${ }" 用法:参考jsp页面 //Servlet中,: User user ...

随机推荐

  1. [转]在ubuntu上安装chrome浏览器

    原文链接: https://www.linuxidc.com/Linux/2013-10/91857.htm --------------------------------------------- ...

  2. CAS4.0 server 环境的搭建

    1.上cas的官网下载cas server 官网地址:https://github.com/Jasig/cas/releases,下载好后 解压下载的 cas-server-4.0.0-release ...

  3. [Tunny]Grunt基础介绍

    [黄映焜/Tunny,20140711] Grunt是一个JavaScript任务管理器,对于需要反复重复的任务,例如压缩.编译.单元测试.代码检查等,自动化工具可以减轻你的劳动,简化你的工作. 本文 ...

  4. 飞思卡尔开发板-迅为IMX6开兼容单核 双核 四核Plus开发板

    飞思卡尔开发硬件接口介绍: 核心板参数 尺寸:51mm*61mm CPU:Freescale Cortex-A9 四核 i.MX6Q,主频 1.2 GHz 内存:2GB DDR3 存储:16GB EM ...

  5. leetcode_378. Kth Smallest Element in a Sorted Matrix_堆的应用

    Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth ...

  6. windos快捷键

    F1帮助 F2改名 F3搜索 F4地址 F5刷新 F6切换 F10菜单 CTRL+A全选 CTRL+C复制 CTRL+X剪切 CTRL+V粘贴 CTRL+Z撤消 CTRL+O打开 SHIFT+DELE ...

  7. Java 类执行顺序

    1.如果父类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块2.如果类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块3.将类的成员赋予初值(原始类型的成员的值为规定值,例 ...

  8. 第3节 hive高级用法:15、hive的数据存储格式介绍

    hive当中的数据存储格式: 行式存储:textFile sequenceFile 都是行式存储 列式存储:orc parquet 可以使我们的数据压缩的更小,压缩的更快 数据查询的时候尽量不要用se ...

  9. VSCODE插件开发:用户输入输出

    阅读这篇文章之前,假设你已经具有开发helloworld的插件的能力. vscode.window 简介 vscode.window 负责当前激活窗口的输入输出,比如展示信息,和用户输入等功能都是用v ...

  10. js 技巧 (六)JavaScript[对象.属性]集锦

    JavaScript[对象.属性]集锦 SCRIPT 标记 用于包含javascript代码. 语法 属性 LANGUAGE 定义脚本语言 SRC 定义一个URL用以指定以.JS结尾的文件 windo ...