比较来自PostgreSQL的javascript日期时间和时间戳

比较来自PostgreSQL的javascript日期时间和时间戳,第1张

概述在PostgreSQL数据库中,我在timestamp列中保存了这个值:2013-03-15 08:50:00. 我的目标是从数据库中获取此日期并检查,如果当前时间比数据库中的时间少12小时. 为此,我想从新的Date()获取当前时间并将其与数据库中的日期进行比较 – 但由于时间格式不同,这不起作用. 我怎么能这样做并将这些时间转换为相同(可比较)的格式? var ds =’2013-03-15 在Postgresql数据库中,我在timestamp列中保存了这个值:2013-03-15 08:50:00.
我的目标是从数据库中获取此日期并检查,如果当前时间比数据库中的时间少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

您可以编写一个解析ISO或sql格式的Date解析函数,

这可能是某些旧版浏览器所需要的.

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’);

总结

以上是内存溢出为你收集整理的比较来自PostgreSQL的javascript日期时间和时间戳全部内容,希望文章能够帮你解决比较来自PostgreSQL的javascript日期时间和时间戳所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1159394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存