function DateUtil(){}
/**
*功能:格式化时间
*示例:DateUtil.Format("yyyy/MM/dd","Thu Nov 9 20:30:37 UTC+0800 2006 ");
*返回:2006/11/09
*/
DateUtil.Format=function(fmtCode,date){
var result,d,arr_d;
var patrn_now_1=/^y{4}-M{2}-d{2}\sh{2}:m{2}:s{2}$/;
var patrn_now_11=/^y{4}-M{1,2}-d{1,2}\sh{1,2}:m{1,2}:s{1,2}$/;
var patrn_now_2=/^y{4}\/M{2}\/d{2}\sh{2}:m{2}:s{2}$/;
var patrn_now_22=/^y{4}\/M{1,2}\/d{1,2}\sh{1,2}:m{1,2}:s{1,2}$/;
var patrn_now_3=/^y{4}年M{2}月d{2}日\sh{2}时m{2}分s{2}秒$/;
var patrn_now_33=/^y{4}年M{1,2}月d{1,2}日\sh{1,2}时m{1,2}分s{1,2}秒$/;
var patrn_date_1=/^y{4}-M{2}-d{2}$/;
var patrn_date_11=/^y{4}-M{1,2}-d{1,2}$/;
var patrn_date_2=/^y{4}\/M{2}\/d{2}$/;
var patrn_date_22=/^y{4}\/M{1,2}\/d{1,2}$/;
var patrn_date_3=/^y{4}年M{2}月d{2}日$/;
var patrn_date_33=/^y{4}年M{1,2}月d{1,2}日$/;
var patrn_time_1=/^h{2}:m{2}:s{2}$/;
var patrn_time_11=/^h{1,2}:m{1,2}:s{1,2}$/;
var patrn_time_2=/^h{2}时m{2}分s{2}秒$/;
var patrn_time_22=/^h{1,2}时m{1,2}分s{1,2}秒$/;
if(!fmtCode){fmtCode="yyyy/MM/dd hh:mm:ss";}
if(date){
d=new Date(date);
if(isNaN(d)){
msgBox("时间参数非法\n正确的时间示例:\nThu Nov 9 20:30:37 UTC+0800 2006\n或\n2006/ 10/17");
return;}
}else{
d=new Date();
}
if(patrn_now_1.test(fmtCode))
{
arr_d=splitDate(d,true);
result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;
}
else if(patrn_now_11.test(fmtCode))
{
arr_d=splitDate(d);
result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;
}
else if(patrn_now_2.test(fmtCode))
{
arr_d=splitDate(d,true);
result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;
}
else if(patrn_now_22.test(fmtCode))
{
arr_d=splitDate(d);
result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;
}
else if(patrn_now_3.test(fmtCode))
{
arr_d=splitDate(d,true);
result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日"+" "+arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";
}
else if(patrn_now_33.test(fmtCode))
{
arr_d=splitDate(d);
result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日"+" "+arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";
}
else if(patrn_date_1.test(fmtCode))
{
arr_d=splitDate(d,true);
result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd;
}
else if(patrn_date_11.test(fmtCode))
{
arr_d=splitDate(d);
result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd;
}
else if(patrn_date_2.test(fmtCode))
{
arr_d=splitDate(d,true);
result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd;
}
else if(patrn_date_22.test(fmtCode))
{
arr_d=splitDate(d);
result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd;
}
else if(patrn_date_3.test(fmtCode))
{
arr_d=splitDate(d,true);
result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日";
}
else if(patrn_date_33.test(fmtCode))
{
arr_d=splitDate(d);
result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日";
}
else if(patrn_time_1.test(fmtCode)){
arr_d=splitDate(d,true);
result=arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;
}
else if(patrn_time_11.test(fmtCode)){
arr_d=splitDate(d);
result=arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;
}
else if(patrn_time_2.test(fmtCode)){
arr_d=splitDate(d,true);
result=arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";
}
else if(patrn_time_22.test(fmtCode)){
arr_d=splitDate(d);
result=arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";
}
else{
msgBox("没有匹配的时间格式!");
return;
}
return result;
};
function splitDate(d,isZero){
var yyyy,MM,dd,hh,mm,ss;
if(isZero){
yyyy=d.getYear();
MM=(d.getMonth()+1)<10?"0"+(d.getMonth()+1):d.getMonth()+1;
dd=d.getDate()<10?"0"+d.getDate():d.getDate();
hh=d.getHours()<10?"0"+d.getHours():d.getHours();
mm=d.getMinutes()<10?"0"+d.getMinutes():d.getMinutes();
ss=d.getSeconds()<10?"0"+d.getSeconds():d.getSeconds();
}else{
yyyy=d.getYear();
MM=d.getMonth()+1;
dd=d.getDate();
hh=d.getHours();
mm=d.getMinutes();
ss=d.getSeconds();
}
return {"yyyy":yyyy,"MM":MM,"dd":dd,"hh":hh,"mm":mm,"ss":ss};
}
function msgBox(msg){
window.alert(msg);
}
分享到:
相关推荐
5. **响应处理**:服务器处理完成后,结果会被发送回客户端,DWR会自动将结果转换为JavaScript对象,然后前端JavaScript代码可以接收到这个结果,并根据需要更新时间控件的显示,或者给出反馈信息。 6. **事件驱动*...
- **dwrcfg.js**: 这是DWR的基本配置文件,包含了服务器端Java类与客户端JavaScript对象的映射。 - **web.xml配置**: 需要在Web应用的配置文件中添加DWR的Servlet映射,以便处理AJAX请求。 **3. 使用DWR创建远程...
3. **接口定义**:如何在Java后端定义可被JavaScript调用的方法,并通过DWR自动转换成JSON或XML格式。 4. **客户端调用**:如何在HTML/JavaScript中使用DWR API来调用服务器端的方法,包括异步和同步调用方式。 5. *...
在DWR中,有两个关键的JavaScript文件,即`engine.js`和`util.js`,它们位于web应用的`/dwr`目录下,是DWR框架正常运行的基础。 `engine.js`是DWR的核心引擎文件,它实现了JavaScript与Java之间的远程方法调用(RMI)...
1. **配置DWR**:设置DWR的配置文件,定义哪些Java类或方法可以被JavaScript调用,以及如何转换数据类型。 2. **编写服务器端逻辑**:创建具体的Java类,这些类将作为业务组件供JavaScript调用。实体类需要遵循Java...
当JavaScript调用这些对象的方法时,DWR会处理网络通信,将请求发送到服务器,并将结果返回给客户端。 **3. DWR的组成组件:** - **DWR Engine**:负责处理JavaScript与服务器之间的通信。 - **Reverse Ajax ...
在这个场景中,"dwr js 查询"指的是利用DWR来执行服务器端查询并返回结果到JavaScript,以便在网页上实时展示数据。 首先,我们需要理解DWR的工作原理。DWR通过创建JavaScript的代理类来调用服务器端的Java方法。...
3. **Ajax支持**:DWR利用Ajax技术实现了页面的局部更新,减少了用户等待时间,提升了用户体验。通过DWR,开发者可以轻松创建异步请求,更新页面的特定部分。 4. **典型应用场景**:DWR常用于实时聊天、表格数据...
在实际开发中,DWR 3.0的使用者可以通过这个中文文档学习如何创建DWR配置文件,定义允许的Java类和方法,编写JavaScript客户端代码来调用服务器端的方法,以及如何处理返回的数据。同时,文档还会介绍如何处理错误和...
一个简单的示例是,创建一个Java类提供一个返回当前时间的方法,然后在JavaScript中调用这个方法并显示在页面上,实现动态时间更新。 总的来说,DWR作为一个强大的工具,极大地简化了Java Web应用程序的Ajax开发,...
在`dwr.xml`配置文件中,需要定义哪些Java类可以被JavaScript访问(`<allow>`标签的`create`元素),以及如何将Java对象转换为JavaScript可理解的格式(`convert`元素)。此外,还需要在Web应用中正确地集成DWR库,...
DWR 自动将DOM、DOM4J、JDOM和XOM转换成DOM树,前面这几种类型都仅仅返回Document,Element,Node.DWR会自动将这些转换成浏览器DOM对象.通常在启动JDOM Converter时会有一个提示信息,除非你想采用JDOMconverter否则可以...
DWR(Direct Web Remoting)框架是一个开源的Java技术,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行实时的、双向的通信。这个框架极大地简化了Ajax(Asynchronous JavaScript and XML)应用的开发,...
DWR的工作原理是通过JavaScript向服务器发送请求,服务器端的DWR引擎接收请求并执行相应的Java方法,然后将结果转换为JavaScript可以理解的格式,最后将结果返回给客户端。 在"用数据库缓存池和dwr实现的jsp程序"中...
在这个例子中,`/dwr/interface/MyService.js`是DWR自动生成的JavaScript接口文件,包含了`MyService`对象的定义。`doSomething`方法的调用会异步地向服务器发送请求,并在接收到响应后执行回调函数。 此外,DWR还...
5. **映射器**:DWR的映射器负责将JavaScript的调用转化为Java方法的执行,同时将Java的返回结果转化为JavaScript可以理解的格式。 **DWR的使用流程** 1. **配置DWR**:在服务器端的web应用目录下创建dwr.xml配置...
DWR(Direct Web Remoting)是一个开源的Java库,它使得在浏览器中的JavaScript可以调用服务器端的Java方法。DWR可以被看作是一个AJAX引擎,它简化了AJAX编程的复杂性,能够让开发者专注于业务逻辑的实现而不是底层...
Java Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器中直接调用服务器端的Java方法,实现Ajax(异步JavaScript和XML)应用。DWR简化了客户端与服务器端的交互,使得开发人员可以利用Java...
- **数据转换器**:将Java对象转化为JavaScript能理解的格式,反之亦然。 **DWR的DEMO介绍:** 1. **配置文件**:演示如何配置DWR与Web应用的集成,包括允许创建的Java组件和转换规则。 2. **Java组件**:讲解如何...
DWR的核心特性是通过JavaScript直接调用远程Java组件,减少了Web开发中的时间和复杂性。它使得用户在使用Web应用时几乎感觉不到页面刷新,从而提升了用户体验。DWR支持多种浏览器,并能自动选择最高效的调用机制。...