English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
أحد أكبر المزايا لاستخدام JSP هو أنه يمكنك استخدام جميع مكتبات Java API. سنتحدث في هذا الفصل بشكل مفصل عن فئة Date في Java، التي توجد في حزمة java.util وتقوم بغلاق التاريخ والوقت الحالي
يملك فئة Date بناءين. البناء الأول يستخدم التاريخ والوقت الحالي لتحديث الكائن
Date( )
يقبل ثاني بناء كائن Date معطى، يمثل عدد الميليسي ثانية من منتصف الليل من 1 يناير 1970 حتى الوقت الذي يمثله هذا الكائن
Date(long millisec)
بعد الحصول على كائن Date، يمكنك استخدام جميع الطرق المدرجة في الجدول التالي:
الترتيب | الطريقة & وصف |
---|---|
1 | boolean after(Date date) إذا كان بعد التاريخ المحدد، فإنه يعيد true، وإلا يعيد false |
2 | boolean before(Date date) إذا كان قبل التاريخ المحدد، فإنه يعيد true، وإلا يعيد false |
3 | Object clone( ) الحصول على نسخة من هذا الكائن |
4 | int compareTo(Date date) إذا كان التاريخ المحدد نفسه، فإنه يعيد 0، إذا كان قبل التاريخ المحدد، فإنه يعيد عدد سالب، وإذا كان بعد التاريخ المحدد، فإنه يعيد عدد إيجابي |
5 | int compareTo(Object obj) مثل طريقة compareTo(Date)، إذا لم يكن obj من فئة Date أو فرعها، فإنه يلقي استثناء ClassCastException |
6 | boolean equals(Object date) إذا كان التاريخ المحدد نفسه، فإنه يعيد true، وإلا يعيد false |
7 | long getTime( ) يعيد هذا الكائن عدد الميليسي ثانية من منتصف الليل من 1 يناير 1970 حتى الوقت الذي يمثله هذا الكائن |
8 | int hashCode( ) يعيد هذا الكائن مفتاحه |
9 | void setTime(long time) استخدام المعطيات المقدمة لضبط التاريخ والوقت، المعطى time يمثل عدد الميليسي ثانية التي مرت من منتصف الليل من 1 يناير 1970 حتى time |
10 | String toString( ) تحويل هذا الكائن إلى سلسلة نصية وإرجاع هذه السلسلة |
استخدام برمجة JSP يمكن الحصول بسهولة على التاريخ والوقت الحالي، فقط باستخدام طريقة toString() من كائن Date، مثلما هو موضح أدناه:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"% <%@ page import="java.io.*,java.util.*, javax.servlet.*" %> <html> <head> <title>显示当前时间与日期</title> </head> <body> <h1>显示当前时间与日期</h1> <% Date date = new Date(); out.print("<h2 align="center">" + date.toString() + "</h2>"); %> </body> </html>
将上面的代码保存在 main.jsp 文件中,然后访问 http://localhost:8080/testjsp/main.jsp,运行结果如下:
عرض الوقت الحالي والتاريخ Sat Jun 25 17:54:34 CST 2019
刷新 http://localhost:8080/testjsp/main.jsp,就可以发现每次刷新所得到的秒数都不相同。
就像我在开头所提到的,您可以在JSP脚本中使用任何Java方法。如果您想要比较两个日期,
可以参照下面的方法来做:
使用getTime()方法得到毫秒数,然后比较毫秒数就行了。
使用before(),after(),equals()方法。比如,new Date(99,2,12).before(new Date(99,2,18))返回true。
使用compareTo()方法,这个方法在Comparable接口中定义,在Date中实现。
SimpleDateFormat使用一种地区敏感的方式来格式化和解析日期,它允许您使用自定义的模式来格式化日期和时间。
对CurrentDate.jsp稍作修改,得到如下修改后的代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"% <%@ page import="java.io.*,java.util.*" %> <%@ page import="javax.servlet.*,java.text.*" %> <html> <head> <title>显示当前时间与日期</title> </head> <body> <h1>显示当前时间与日期</h1> <% Date dNow = new Date(); SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); out.print("<h2 align="center">" + ft.format(dNow) + "</h2>"); %> </body> </html>
أعد تجميع main.jsp ثم اذهب إلى http://localhost:8080/testjsp/main.jsp، للحصول على النتيجة التالية:
عرض الوقت الحالي والتاريخ 2019-06-25 17:57:53
لتحديد سلسلة النمط، يجب استخدام رموز التنسيق المذكورة في الجدول التالي:
حرف | وصف | مثال |
---|---|---|
G | معلم زمني | AD |
y | سنة من أربعة أرقام | 2001 |
M | شهر | يوليو أو 07 |
d | يوم | 10 |
h | نظام 12 ساعة، صباحًا/مساءً (1~12) | 12 |
H | نظام 24 ساعة | 22 |
m | دقيقة | 30 |
s | ثانية | 55 |
S | ملي ثانية | 234 |
E | يوم | Tuesday |
D | يوم معين في السنة | 360 |
F | يوم معين في الأسبوع | 2 (الثلاثاء الثاني في يوليو) |
w | يوم معين في السنة | 40 |
W | يوم معين في الشهر | 1 |
a | علامة صباحًا/مساءً | PM |
k | ساعة معينة في اليوم (1~24) | 24 |
K | ساعة معينة في اليوم،صباحًا/مساءً (0~11) | 10 |
z | المنطقة الزمنية | Eastern Standard Time |
فصل النص | مفصل | |
علامة الترقيم | أقواس مزدوجة |
المزيد من التفاصيل حول كلاس Date راجع وثائق API لـ Java.