热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JSP处理日期

以下内容引用自http:wiki.jikexueyuan.comprojectjsphandling-date.html:使用JSP的一个最重要的优点是,

以下内容引用自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()方法来输出当前的日期和时间,如下所示:

<%&#64; page import&#61;"java.io.*,java.util.*" %>
<html>
<head>
<title>Display Current Date & Timetitle>
head>
<body>
<center>
<h1>Display Current Date & Timeh1>
center>
<%Date date &#61; new Date();out.print( "

"center\">" &#43;date.toString()&#43;"

");
%>
body>
html>

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

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

二、日期比较

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

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

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

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

三、用SimpleDateFormat实现日期格式化

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

修改上面的例子&#xff0c;如下所示&#xff1a;

<%&#64; page import&#61;"java.io.*,java.util.*" %>
<%&#64; page import&#61;"java.text.*" %>
<html>
<head>
<title>Display Current Date & Timetitle>
head>
<body>
<center>
<h1>Display Current Date & Timeh1>
center>
<%Date dNow &#61; new Date( );SimpleDateFormat ft &#61; new SimpleDateFormat ("E yyyy.MM.dd &#39;at&#39; hh:mm:ss a zzz");out.print( "

"center\">" &#43; ft.format(dNow) &#43; "

");
%>
body>
html>

使用URL&#xff1a;http://localhost:8080/CurrentDate.jsp&#xff0c;将产生如下结果&#xff1a;

四、Simple DateFormat格式化代码

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

字符描述例子
G时代指示符AD
y四位数的某年2001
M一年中的某月July or 07
d一月中的某日10
hA.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
aA.M./P.M.标记PM
k一天(1~24)中的某小时24
KA.M./P.M. (0~11)的某小时10
z时区Eastern Standard Time
&#39;消逝的文本Delimiter
"单引号&#96;

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

 

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



推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了如何在Mac上使用Pillow库加载不同于默认字体和大小的字体,并提供了一个简单的示例代码。通过该示例,读者可以了解如何在Python中使用Pillow库来写入不同字体的文本。同时,本文也解决了在Mac上使用Pillow库加载字体时可能遇到的问题。读者可以根据本文提供的示例代码,轻松实现在Mac上使用Pillow库加载不同字体的功能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
author-avatar
王剑波200813
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有