加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 15:56:38 所属栏目:百科 来源:网络整理
导读:在PostgreSQL数据库中,我在timestamp列中保存了这个值:2013-03-15 08:50:00. 我的目标是从数据库中获取此日期并检查,如果当前时间比数据库中的时间少12小时. 为此,我想从新的Date()获取当前时间并将其与数据库中的日期进行比较 – 但由于时间格式不同,这不
在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}-dd-dd([tT ][d:.]*)?)([zZ]|([+-])(dd):(dd))?$/,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’);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读