JavaScript实现显示时间差:几分钟前、几天前

0 下载量 162 浏览量 更新于2024-08-29 收藏 30KB PDF 举报
"使用JavaScript在JSP页面上显示时间相对描述,如‘几分钟前’、‘几天前’等,通常涉及到时间戳转换和格式化。这里使用了jQuery库和一个叫做timeago的插件来实现这一功能。" 在JSP页面中,为了显示“几分钟前”、“几天前”这样的相对时间,我们可以利用JavaScript处理时间戳并将其转化为易于理解的表述。在这个例子中,使用了jQuery库以及一个名为`timeago.js`的插件,该插件可以帮助我们轻松地将时间戳转换为这种友好的格式。 首先,确保引入了必要的库文件。在提供的代码中,可以看到有以下引用: ```html <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script> <script type="text/javascript" src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script> <script type="text/javascript" src="<%=basePath%>/js/timeago.js"></script> ``` 这里引入了jQuery的核心库(version 1.10.1)和一个兼容性补丁(jQuery Migrate),以及`timeago.js`插件。`basePath`变量用于获取项目的根路径,确保资源文件能够正确加载。 接下来,在页面中,有一个`<p>`标签用于展示时间戳,例如`${time}`,它可能是服务器端传来的某个时间点的字符串或时间戳。然后,创建一个带有`class="timeago"`的`<span>`标签,它的`title`属性应该设置为需要转换的时间戳,例如`title="2014-4-29 15:23"`。 在页面底部,通过JavaScript调用`timeago`方法来初始化这个插件: ```javascript <script type="text/javascript"> jQuery("span.timeago").timeago(); </script> ``` 这行代码会找到所有`class="timeago"`的`<span>`元素,并将它们的内容转换为从当前时间到指定时间点的相对时间描述。 `timeago.js`插件的工作原理是,它接收一个时间戳(可以是日期对象、字符串或数字类型的时间戳),然后使用`inWords`函数将这个时间戳转换为人类可读的字符串。插件内部的`parse`函数可能用于将字符串类型的时间戳解析为日期对象,然后`inWords`函数根据这个日期对象计算出与当前时间的差距,最后返回如“2分钟前”、“3天前”等描述。 总结一下,要实现“几分钟前”、“几天前”的效果,主要步骤包括: 1. 引入jQuery库和`timeago.js`插件。 2. 在页面中设置需要转换的时间戳信息,可以是`<p>`标签或`<span>`标签。 3. 使用JavaScript调用`jQuery("span.timeago").timeago();`来激活插件并进行转换。 这种方法使得用户可以更直观地了解信息的时效性,无需查看精确的日期和时间。