`
阅读更多
bean:write name="list" property="dishTime" filter="true" format="yyyy-MM-dd HH:mm:ss" />

<bean:write name="list" property="dishTime" format="yyyy-MM-dd HH:mm:ss" />

JSTL日期格式化
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <fmt:formatDate value="${student.birthday}" pattern="yyyy年MM月dd日"/>



<bean:write name="" property="" format="yyyy-MM-dd HH:mm:ss"/>

simpledateformat formatter;

formatter = new simpledateformat("yyyy-MM-dd HH:mm:ss");//需要转换的格式
string time = formatter.format(new Date());

time = time .substring(11, 19);//自己决定要多长!

system.out.println(nowtime);



在开发有关日历的应用程序时,不规则的每月日期数、每周天数和周末的计算一直是个很费脑筋的问题。结果,日期和时间的编程经常令程序员新手畏缩不前。本文将演示在JSP应用程序中日期的用法,为读者完成某些常见任务提供方便的参考。


目的



示例应用程序的目的是:

通过HTML表单把日期参数提交某个JSP页来处理。
接收日期参数并创建Calendar对象。
采用Calendar对象找出提交的日期是一周的第几天以及选中月份里有多少工作日。
用用户易于阅读的显示格式对日期格式化。

环境

示例程序代码在Java Web服务器上接受测试,该服务器配置了JDK 1.31。示例写得很标准,在Tomcat或者其他JSP Web服务器(JDK 1.2或者以后版本)上运行的效果几乎完全一样。

通过表单把日期传递给JSP页

Date(日期)参数是用户从3栏下拉列表中选出来的。用户提交表单之后,这些参数即被传送给处理页面。

在进行日历编程时不要忘了导入java.util.Calendar:
〈%@ page import="java.util.Calendar" %〉

处理页面的第1个任务是接收以下日期参数值:Date、Month和Year。
int curDate = 1;
if(request.getParameter("curDate") != null)
{
curDate = Integer.parseInt(request.getParameter("curDate"));
}

注意页面参数被转换为int类型,马上我们就知道为什么要这么做了。



Calendar对象

我们的目标是创建和设置一个Calendar对象,用它进行日期计算。为此,我们首先需要实例化一个Calendar对象。
Calendar cal = Calendar.getInstance();

Calendar.getInstance()返回一个代表当前日期和时间的Calendar对象。
cal.clear();
cal.set(curYear, curMonth , curDate);

clear()方法清空Calendar,这样我们才可能给该对象分配我们自己的日期值并为将来的计算做好准备。注意这些参数的顺序:首先是年,最后是日期。



从Calendar获取信息

以下是一组Calendar字段:

日期
DATE, DAY_OF_MONTH, DAY_OF_WEEK, DAY_OF_YEAR

时间
HOUR_OF_DAY, MINUTE, MILLISECOND, SECOND


WEEK_OF_MONTH, WEEK_OF_YEAR


YEAR

以上这些字段都可以通过Calendar的get()方法进行访问,结果返回一个整数。以下代码示例显示了以上过程。

一周内的日期
int dayOfWeek = cal.get(cal.DAY_OF_WEEK);
out.print("〈br〉Day of Week: " + dayOfWeek + " 〈br〉");

一月内的日期
int dayOfMonth = cal.get(cal.DAY_OF_MONTH);
out.print("〈br〉Day of Month: " + dayOfMonth + " 〈br〉");

定位特定的日期



为了找出一周内特定的某一天就必须访问DAY_OF_WEEK字段。该字段包含了范围从1到7的整数值,1代表星期一,2代表星期二,其余以次类推。
int dayOfWeek = cal.get(cal.DAY_OF_WEEK);

这里有个向用户显示日期的好方法,那就是声明一个包含一周内天数的数组。然后就可以很方便地显示各个日期了。只要采用DAY_OF_WEEK整数访问数组内的当前日期即可。
String[] weekdays = new String[]
{“”, "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
〈%=weekdays[cal.get(cal.DAY_OF_WEEK)]%〉

注意该数组的第1个元素为空。这是因为DAY_OF_WEEK字段值的范围是从1到7,而数组元素的引用范围则是从0到6。在数组开头加一个空元素就可以保证DAY_OF_WEEK字段的值和数组引用相匹配了。



找出周末
为了找出某天是否正好是星期天或者星期六可以编写以下代码:
int day = cal.get(cal.DAY_OF_WEEK);
if(day == 6 || day == 7)
{
//执行与周末有关的操作
}



工作日

现在我们需要计算出某个月内的工作日天数。用户输入日期(参看index.jsp)之后把参数发送给处理页面(参看display.jsp)。在处理页面上,我们把Calendar对象设置为该月的第1天。
cal.clear();
cal.set(curYear, curMonth , 1);
int maxDays = cal.getActualMaximum(cal.DATE);
out.print("〈br〉Number of days in month: " + maxDays + "〈br〉");

我们还需要知道某个月内到底有多少天。getActualMaximum()方法返回一个整数值,该值就包含了每个月内的最多天数:2月是28天,3月是31天等等。在闰年的话2月的天数返回 29天。

一旦我们得到了每个月内的最多天数,我们就可以很方便地循环每月天数判断是否是周末或者工作一日。我们用add()方法给Calendar递增1,如程序清单A所示。



用SimpleDateFormat向用户显示日期

SimpleDateFormat处理显示日期的最常用需求,它可以用来把日期转换为特定的保存格式。你可以采用以下的导入指示符:
〈%@ page import="java.text.SimpleDateFormat" %〉

以下的代码给用户显示日期:
SimpleDateFormat formatter = new SimpleDateFormat("dd/MMM/yyyy");
out.print("〈br〉" + formatter.format(cal.getTime()) );

SimpleDateFormat对象接受一个字符串作为其对象构造器,该字符串参数包含了用户希望采用的显示格式。这个格式字符串可以包含额外的格式字符串,比如空格(“ ”)、反斜线( “/”)和破折号(“-”)。

表A列出了所有有效的(常用的)显示格式。

表A

格式
示例

“dd/MMM/yyyy”
06/Mar/1974

"dd-MM-yyyy"
06-03-1974

"dd MMMMMMMMM yyyy"
06 March 1974

"EEEEEEEEE, MMMMMMMMM dd, yyyy"
Wednesday, March 06, 1974


有效的SimpleDateFormat显示格式



表B是SimpleDateFormat参数的缩略语表。

表B

y
year

M
month in year

d
day in month

D
day in year

w
week in year

W
week in month

E
day in week


SimpleDateFormat参数


重用代码--FormatTitle

在同一页面上实施多种格式转换有个简单方法:在Declaration元素中是声明FormatTitle方法,它接受两个参数,一个引用Calendar对象,另一个返回格式。
〈%!
public String FormatTitle(Calendar fCal, String format)
{
SimpleDateFormat formatter = new SimpleDateFormat(format);
return (formatter.format(fCal.getTime() ));
}
%〉

为了显示日期,我们调用FormatTitle()并为其传递Calendar和格式字符串参数。
〈%=FormatTitle(cal, “dd-MMM-yyyy”)%〉


小结

学完以上的简单教程,相信你现在应该能用Calendar和SimpleDateFormat对象操作和显示日期了。

add()和set()方法可以轻松配置Calendar,促使你可以为商业应用程序遍历月份和年数。FormatTitle方法可以大大简化给用户显示日期的任务,同样的,它还简化了把日期转换为字符串的操作,而这一操作主要应用在数据库和XML文档的数据保存方面。

分享到:
评论

相关推荐

    js实现日期显示

    在JavaScript中,日期显示是常见的需求,特别是在网页交互和数据展示中。JavaScript提供了一个内置对象——`Date`,用于处理日期和时间。本教程将详细讲解如何使用JavaScript来实现页面上的日期显示。 首先,创建一...

    android 自定义gridView 按日期显示图片和视频 galleryDemo

    android 自定义gridView 按日期显示图片和视频 galleryDemo android 自定义gridView 按日期显示图片和视频 galleryDemo android 自定义gridView 按日期显示图片和视频 galleryDemo 免费下载 给个好评!

    js 特效 html 特效 全中文日期显示

    js 特效 html 特效 全中文日期显示 js 特效 html 特效 全中文日期显示

    JS 日期 显示框

    在JavaScript中处理日期是一项常见的任务,尤其是在创建动态的日期显示框时。日期显示框通常用于展示当前日期、允许用户选择日期或者进行日期相关的计算。 在JavaScript中,日期对象(Date)是内置的,它提供了丰富的...

    汇编输入日期显示星期

    在汇编语言编程中,实现“输入日期显示星期”的功能是一项基础且实用的任务。这个程序设计旨在让学习者掌握汇编语言的基本语法和控制结构,同时理解日期处理和错误检查的逻辑。以下是对该程序设计的详细解释: 1. *...

    日期显示JS代码--年月日-时分秒--农历全部显示.rar_AEWK_JS 日期显示_instrumentout_农历日期

    在这个压缩包文件"日期显示JS代码--年月日-时分秒--农历全部显示.rar_AEWK_JS 日期显示_instrumentout_农历日期"中,包含的是一个能够显示日期和时间,包括农历日期的JavaScript代码实现。这个功能对于中国的互联网...

    时间日期显示(跟系统一样的显示方式)

    在计算机编程中,时间日期显示是一项基础且重要的功能。它涉及到如何正确地获取、处理和展示当前或指定的日期和时间信息,以便与用户的系统设置保持一致。在本主题中,我们将深入探讨如何实现时间日期显示,使其与...

    简单的时间日期显示功能

    在编程领域,时间日期显示是常见的需求之一,无论是开发应用程序、数据分析还是日志记录,都需要对当前或特定的时间日期进行处理。本示例主要针对初学者,旨在介绍如何实现简单的时间日期显示功能。 首先,我们要...

    超炫万年历日期显示

    在IT领域,日期显示是一个常见的需求,特别是在各种应用程序和网页设计中。"超炫万年历日期显示"可能指的是一个创新的设计方案或者软件组件,它能够以独特且吸引人的方式展示日期,覆盖从公元前到公元后数千年的时间...

    解决easyui datagrid控件的日期显示问题1

    综上所述,解决EasyUI datagrid控件的日期显示问题,关键在于在前端使用`formatter`函数对日期进行格式化,并确保服务器返回的日期数据已经被正确序列化为字符串。同时,后台的日期处理也非常重要,要确保与前端的...

    Extjs扩展DateTimeField时间初始化及点击日期显示Bug

    本文将深入探讨“Extjs扩展DateTimeField时间初始化及点击日期显示Bug”这一主题,帮助开发者解决实际开发中遇到的难题。 DateTimeField是EXTJS中用于处理日期和时间选择的组件,它允许用户同时选择日期和时间,...

    extjs日期显示(如何转换日期格式)

    extjs 日期显示(如何转换日期格式) extjs 中显示日期时间的方法是在后台传递来的数据是 Date 类型的数据,日期时间格式为 timestamp,是 13 位的 long data 数字类型的时间。在 extjs6 中,可以使用配置消息转换...

    jQuery鼠标滑过日历日期显示备注信息代码

    "jQuery鼠标滑过日历日期显示备注信息代码"是一个利用jQuery实现的交互式日历效果,当用户鼠标悬停在特定日期上时,会弹出该日期的相关备注信息,提供了一种直观且友好的用户体验。 首先,我们需要理解这个功能的...

    extjs日期显示(如何转换日期格式).pdf

    ExtJS 日期显示和格式转换 在 ExtJS 中显示日期时间需要进行格式转换,以便正确地显示日期信息。下面是实现日期格式转换的步骤和相关知识点。 日期格式转换 ExtJS 中的日期时间显示需要将后台传过来的日期数据...

    extjs日期显示(如何转换日期格式).docx

    ExtJS 日期显示与格式转换 在 ExtJS 中,当后台传递日期类型的数据时,需要对日期格式进行转换,以便正确地显示在前台。下面将详细介绍如何在 ExtJS 中转换日期格式。 日期类型传输 在 ExtJS 中,后台传递的日期...

    汇编语言编写系统时间日期显示

    ### 汇编语言编写系统时间日期显示 #### 概述 本文档旨在介绍一个基于汇编语言编写的系统时间日期显示程序。该程序能够根据用户的输入显示当前系统的日期或时间,并支持用户输入特定字符来控制程序的行为。具体来说...

    非常漂亮的javascript日期显示

    在网页中,日期显示是常见的需求,比如显示当前日期、格式化日期或者进行日期计算。标题“非常漂亮的javascript日期显示”所指的是利用JavaScript实现美观且功能丰富的日期展示效果。 JavaScript中的日期操作主要...

    QML日历+选定日期显示

    在"QML日历+选定日期显示"这个场景下,我们首先需要创建一个自定义的`Calendar`组件。这个组件可能由以下几个主要部分组成: 1. **布局设计**:日历通常以一个月为单位显示,所以我们需要一个二维数组来存储日期。...

    WebCabCalendar日期显示程序源代码

    【WebCabCalendar日期显示程序源代码】是一款专用于网页中显示日期并提供提醒功能的程序。这个源代码包包含了多项关键功能,可以帮助开发者构建一个高效且用户友好的在线日历应用。下面将对这些功能进行详细阐述。 ...

    日期显示.rar日期显示.rar

    日期显示.rar日期显示.rar日期显示.rar日期显示.rar日期显示.rar日期显示.rar日期显示.rar日期显示.rar日期显示.rar日期显示.rar日期显示.rar日期显示.rar日期显示.rar日期显示.rar

Global site tag (gtag.js) - Google Analytics