Servlet processing date


Release date:2023-12-14 Update date:2023-12-14 Editor:admin View counts:190

Label:

Servlet processing date

One of the most important advantages of using Servlet is that you can use most of the methods available in the core Java. This chapter will explain what Java provides java.util in the bag Date class, which encapsulates the current date and time.

Date class supports two constructors. The first constructor initializes the object for the current date and time.

Date( )

The following constructor takes an argument equal to the number of milliseconds that have elapsed since midnight on January 1, 1970.

Date(long millisec)

Once you have an available Date object, you can call any of the following supported methods to use the date:

Serial number

Method & description

1

Boolean after (Date date) returns true if the date contained in the called Date object is after the date specified by date, otherwise returns false.

2

Boolean before (Date date) returns true if the date contained in the called Date object is before the date specified by date, otherwise returns false.

3

Object clone () calls the Date object repeatedly.

4

Int compareTo (Date date) compares the value of the calling object with the value of date. Returns 0 if the two values are equal. Returns a negative value if the calling object is before date. If the calling object is after date, a positive value is returned.

5

Int compareTo (Object obj) if obj is a Date class, the operation is equivalent to compareTo (Date). Otherwise, it throws a ClassCastException.

6

Boolean equals (Object date) returns true if the called Date object containsthe same time and date as specified by date, otherwise it returns false.

7

Long getTime () returns the number of milliseconds that have elapsed since January 1, 1970.

8

Int hashCode () returns a hash code for the calling object.

9

Void setTime (long time) sets the time and date specified by time, which represents the elapsed time in milliseconds since midnight on January 1, 1970.

10

The Date object called by the String toString () transformation is a string and returns the result.

Get the current date and time

It is very easy to get the current date and time in Java Servlet. You can use a simple Date object’s toString() method to output the currentdate and time, as follows:

package com.runoob.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class CurrentDate
 */
@WebServlet("/CurrentDate")
public class CurrentDate extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public CurrentDate() {
        super();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
          String title = "Display the current date and time";
        Date date = new Date();
        String docType = "<!DOCTYPE html> \n";
          out.println(docType +
            "<html>\n" +
            "<head><title>" + title + "</title></head>\n" +
            "<body bgcolor=\"#f0f0f0\">\n" +
            "<h1 align=\"center\">" + title + "</h1>\n" +
            "<h2 align=\"center\">" + date.toString() + "</h2>\n" +
            "</body></html>");
    }

}

Now, let’s compile the above Servlet and set it in the web.xml create the appropriate entry in the file:

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <servlet>
    <servlet-name>CurrentDate</servlet-name>
    <servlet-class>com.runoob.test.CurrentDate</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>CurrentDate</servlet-name>
    <url-pattern>/TomcatTest/CurrentDate</url-pattern>
  </servlet-mapping>
</web-app>

The Servlet is then called by accessing the http://localhost:8080/TomcatTest/CurrentDate. This will produce the following results:

Image0

Try to refresh URL http://localhost:8080/TomcatTest/CurrentDate, and you will notice the difference in display time every few seconds.

Date comparison

As mentioned above, you can use all the available Java methods in Servlet. If you need to compare two dates, here is the method:

  • You can use the getTime() to get the elapsed time in milliseconds between the two objects since midnight on January 1, 1970, and then compare the two values.

  • You can use the method before( )after( ) and equals( ) . Because the 12th is before the 18th in a month, for example new Date(99, 2, 12).before(new Date (99, 2, 18)) return to true.

  • You can use the compareTo( ) method, defined by the Comparable interface and implemented by Date.

Format the date using SimpleDateFormat

SimpleDateFormat is a concrete class that formats and parses dates in a locale-sensitive manner. SimpleDateFormat allows you to select any user-defined date-time formatted mode.

Let’s modify the above example as follows:

package com.runoob.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class CurrentDate
 */
@WebServlet("/CurrentDate")
public class CurrentDate extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public CurrentDate() {
        super();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");

        PrintWriter out = response.getWriter();
        String title = "Display the current date and time";
        Date dNow = new Date( );
        SimpleDateFormat ft =
                new SimpleDateFormat ("yyyy.MM.dd  hh:mm:ss E a ");
        String docType = "<!DOCTYPE html> \n";
        out.println(docType +
            "<html>\n" +
            "<head><title>" + title + "</title></head>\n" +
            "<body bgcolor=\"#f0f0f0\">\n" +
            "<h1 align=\"center\">" + title + "</h1>\n" +
            "<h2 align=\"center\">" + ft.format(dNow) + "</h2>\n" +
            "</body></html>");
    }

}

Compile the above Servlet again, and then call the Servlet by accessing http://localhost:8080/TomcatTest/CurrentDate. This will produce the following results:

Image1

A simple format code for date format

Use the event pattern string to specify the time format. In this mode, all ASCII letters are retained as pattern letters, which are defined as follows:

Character

Description

Example

G

Era indicator

AD

Y

A four-digit year.

2001

M

The month of the year

July or 07

D

The day of the month

10

H

With A.M./P.M. Hours of (1: 12)

12

H

The hour ordinal of the day (023)

22

M

The minute of an hour

30

S

The second of a minute

55

S

Millisecond

234

E

What day of the week is it?

Tuesday

D

The day of the year

360

F

The week is the first week of this month.

2 (second Wed. In July)

W

The week of the year

40

W

The week of the month

1

A

A.M./P.M. Marking

PM

K

The hour ordinal of the day (1-24)

24

K

With A.M./P.M. Hours of (011)

10

Z

Time zone

Eastern Standard Time

Escape for text

Delimiter

For a complete list of available date processing methods, you can refer to the standard Java documentation.

Powered by TorCMS (https://github.com/bukun/TorCMS).