`

jstl 解析long型数据为日期

阅读更多

在数据库中用long型存放日期,从数据库中取出日期展现在jsp页面上时用jstl:

<fmt: formatDate value="${date}" pattern="yyyy-MM-dd HH:ii:ss" />

这时会出错,因为<fmt: formatDate标签需要的是java.util.Date型的数据。

这时不用jstl,可以这样做:

<script type="text/javascript">

function parseDate(str){     
  if(typeof str == 'string'){     
    var results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);     
    if(results && results.length>3)     
      return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]));      
    results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/);     
    if(results && results.length>6)     
      return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]));      
    results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/);     
    if(results && results.length>7)     
      return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]),parseInt(results[7]));      
  }     
  return null;     
}     
    
/*   
  将Date/String类型,解析为String类型.   
  传入String类型,则先解析为Date类型   
  不正确的Date,返回 ''   
  如果时间部分为0,则忽略,只返回日期部分.   
*/    
function formatDate(v){     
  if(typeof v == 'string') v = parseDate(v);     
  if(v instanceof Date){     
    var y = v.getFullYear();     
    var m = v.getMonth() + 1;     
    var d = v.getDate();     
    var h = v.getHours();     
    var i = v.getMinutes();     
    var s = v.getSeconds();     
    var ms = v.getMilliseconds();        
    //if(ms>0)
    //return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s + '.' + ms;     
    if(h>0 || i>0 || s>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s;     
    return y + '-' + m + '-' + d;     
  }     
  return '';     
}

</script>

 

<td>

<script type="text/javascript"> 

 var d= new Date(1283170971359);  

formatDate(d);

 </script>

</td>

分享到:
评论

相关推荐

    jatl fmt库

    该库提供了丰富的标签来帮助开发者处理文本、日期、数字等数据类型的格式化,以及支持不同语言环境的资源文件加载。 #### 二、标签概述 `jatl fmt`库的核心标签及其用途如下: 1. **`fmt:bundle`**:用于加载资源...

    Java基础知识面试题目

    Java中的基本数据类型包括整数类型(`byte`, `short`, `int`, `long`),浮点类型(`float`, `double`),字符类型(`char`),布尔类型(`boolean`)。而`String`类并不是基本数据类型,它属于引用类型,用于表示...

    JAVA程序员笔试题

    - **基本数据类型**:Java有8种基本数据类型,包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。String是一个对象,不属于基本数据类型,它是类`java.lang....

    spring mvc源码实例

    11. **转换器和格式化器(Converter & Formatter)**: 这些组件允许我们自定义数据类型之间的转换,比如将字符串转换为日期。 12. **异常处理**: Spring MVC提供了优雅的异常处理机制,可以使用`@ExceptionHandler`...

    华为与IBM等公司JAVA面试题大全.pdf

    - 基本数据类型包括:byte, short, int, long, float, double, boolean, char。String不是基本数据类型,而是对象,它包含字符序列。 - 字符串操作:反转字符串可使用StringBuilder或StringBuffer的reverse()方法...

    (超赞)JAVA精华之--深入JAVA API

    - **原始型数据流** - `DataInputStream` 和 `DataOutputStream` 提供了读写基本数据类型的方法。 - **对象流** - `ObjectInputStream` 和 `ObjectOutputStream` 支持序列化和反序列化 Java 对象。 - **字符流**...

    w3school_Java&JSP;教程

    Java 提供了八种基本数据类型,包括四种整数类型 (byte, short, int, long),两种浮点类型 (float, double),一种字符类型 (char) 和一种布尔类型 (boolean)。 **Java变量类型** 变量是用来存储数据值的标识符。...

    java开源包1

    JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和 GNU getopt_long() Java的HTTP代理服务器 Smart Cache Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的...

    java开源包11

    JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和 GNU getopt_long() Java的HTTP代理服务器 Smart Cache Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的...

    java开源包2

    JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和 GNU getopt_long() Java的HTTP代理服务器 Smart Cache Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的...

    java开源包3

    JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和 GNU getopt_long() Java的HTTP代理服务器 Smart Cache Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的...

    java开源包6

    JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和 GNU getopt_long() Java的HTTP代理服务器 Smart Cache Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的...

    java开源包5

    JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和 GNU getopt_long() Java的HTTP代理服务器 Smart Cache Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的...

    java开源包10

    JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和 GNU getopt_long() Java的HTTP代理服务器 Smart Cache Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的...

    java开源包4

    JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和 GNU getopt_long() Java的HTTP代理服务器 Smart Cache Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的...

    java开源包8

    JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和 GNU getopt_long() Java的HTTP代理服务器 Smart Cache Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的...

    java开源包7

    JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和 GNU getopt_long() Java的HTTP代理服务器 Smart Cache Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的...

    java开源包9

    JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和 GNU getopt_long() Java的HTTP代理服务器 Smart Cache Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的...

Global site tag (gtag.js) - Google Analytics