在Postgresql数据库中,我在timestamp列中保存了这个值:2013-03-15 08:50:00.
我的目标是从数据库中获取此日期并检查,如果当前时间比数据库中的时间少12小时.
我的目标是从数据库中获取此日期并检查,如果当前时间比数据库中的时间少12小时.
为此,我想从新的Date()获取当前时间并将其与数据库中的日期进行比较 – 但由于时间格式不同,这不起作用.
我怎么能这样做并将这些时间转换为相同(可比较)的格式?
解决方法
var ds =’2013-03-15 08:50:00′;
没有任何时区信息,你无法确切知道它是哪一天.
假设您的字符串是UTC,您可以使用Date构造函数
如果用’T’替换空格并在末尾添加’Z’:
var ds='2013-03-15 08:50:00'; var day=new Date(ds.replace(' ','T')+'Z'); day.toUTCString()
星期五,2013年3月15日08:50:00 GMT
这可能是某些旧版浏览器所需要的.
Date.fromISO= function(s){ var day,tz,rx=/^(\d{4}\-\d\d\-\d\d([tT ][\d:\.]*)?)([zZ]|([+\-])(\d\d):(\d\d))?$/,p= rx.exec(s) || []; if(p[1]){ day= p[1].split(/\D/); for(var i= 0,L= day.length;i<L;i++){ day[i]= parseInt(day[i],10) || 0; }; day[1]-= 1; day= new Date(Date.UTC.apply(Date,day)); if(!day.getDate()) return NaN; //adjust for time zone offset: if(p[5]){ tz= (parseInt(p[5],10)*60); if(p[6]) tz+= parseInt(p[6],10); if(p[4]== '+') tz*= -1; if(tz) day.setUTCMinutes(day.getUTCMinutes()+ tz); } return day; } return NaN; }
然后拨打Date.fromISO(‘2013-03-15 08:50:00’);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。