jsp中格式化long类型的时间戳

来源:互联网 发布:算法设计与分析好难 编辑:程序博客网 时间:2024/06/04 23:37

1、使用java脚本。

<%    Long time = (Long)request.getAttribute("longtime");   Date date=new Date(time);    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");   String timeStr = sdf.format(date);out.println(timeStr); %> 
这里使用到了Date和SimpleDateFormat这两个类,需要在jsp前面使用import引用这两个类。

<%@ page language="java" import="java.util.*,java.text.*" pageEncoding="utf-8"%>
上面的代码,在jsp中耦合度高,维护起来也相对复杂。

2、使用<jsp:useBean>

<jsp:useBean id="timestamp" class="java.util.Date"/><jsp:setProperty name="timestamp" property="time" value="${longtime}"/><fmt:formatDate value="${timestamp}" pattern="MM/dd/yyyy HH:mm:ss"/>
<jsp:useBean>标签用于在指定的域范围内查找指定名称的JavaBean对象:
如果存在则直接返回该JavaBean对象的引用。如果不存在则实例化一个新的JavaBean对象并将它以指定的名称存储到指定的域范围中。 
常用语法:
<jsp:useBean id="beanName" class="package.class" scope="page|request|session|application"/>
id属性用于指定JavaBean实例对象的引用名称和其存储在域范围中的名称。
class属性用于指定JavaBean的完整类名(即必须带有包名)。

scope属性用于指定JavaBean实例对象所存储的域范围,其取值只能是page、request、session和application等四个值中的一个,其默认值是page。


对比第一种方法:

  1. useBean不需要import导包
  2. useBean直接产生一个类的实例,而import是声明对一个类的引用,并没有立即产生一个类的实例。
3、js里获取时间戳
  
var timestamp = Date.parse(new Date());var timestamp = (new Date()).valueOf();
当然也可以使用
var timestamp = <%=System.currentTimeMillis()%>;





原创粉丝点击