电脑技术学习

JS中通过字符串构造指定的日期对象

dn001

最近遇到这样一个需求:首先要从数据库中查出一个字段,这个字段是日期型的,然后在js中对这个日期进行判断,看它是否小于当前时间两个小时。关键的问题就是如何将数据库中的时间变成在js中的时间。

我是这样处理的,在从数据库中查询这个字段的时候就把把它转化成了日期型,我使用了TO_CHAR函数(我用的是Oracle数据库),如下所示:

TO_CHAR(arrivedate,'MONTH DD,YYYY HH24:MI:SS',

'NLS_DATE_LANGUAGE=AMERICAN')。然后通过隐藏域把这个字符串传入到js的函数当中,最后调用js中Date对象的new Date(datestring)方法构造出一个Date对象,它与我们数据库中对应的那个字段表示同一个时间。接下来的事情就好办了,通过

new Date()得到当期日期,然后比较这两个日期对象的毫秒数就可以了。这里有个要注意的地方是,在js中利用new Date(datestring)得到指定的日期对象时,这个datestring必须要满足一定的格式要求,它的格式为"Month Day,Year Hours:Minutes:Seconds",这也是为什么我从数据库中查询日期时要指定格式为 “MONTH DD,YYYY HH24:MI:SS”的原因。