zoukankan      html  css  js  c++  java
  • 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()方法来输出当前的日期和时间,如下所示:

    <%@ 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

  • 相关阅读:
    jdk环境一键配置
    IIS 浏览aspx页面出现 无法显示 XML 页
    ASP.NET MVC(三)
    ASP.NET MVC(二)
    ASP.NET MVC (一)
    Fatal error: Call to a member function bind_param() on a non-object in
    Eclipse字符集设置方式
    mysql 管理工具
    win7 IIS发布项目遇到的问题
    php 环境的搭建
  • 原文地址:https://www.cnblogs.com/EasonJim/p/6954373.html
Copyright © 2011-2022 走看看