最近一次完全完成的一周(即从周一到周日)的记录?

时间:2019-07-08 07:42:37

标签: ruby-on-rails

如何获取上一个完整完成的一周(即上周一至上周日)内created_at的记录?

要绝对清楚,如果今天是7月10日星期三,我希望记录在7月1日星期一凌晨至7月7日星期日傍晚之间。如果是7月12日星期五,我会 仍然 希望获得7月1日星期一至7月7日星期日深夜之间的记录。但是,如果是7月15日星期一,我希望获得7月8日星期一至7月14日星期日深夜之间的记录。

我该如何实现?

注意

我可以轻松获得滚动周的记录,即记录between the current time and one week ago(即Time.now - 7.days)。这不是我要的不是

2 个答案:

答案 0 :(得分:1)

您可以使用Time.now - 7.days获得上周,然后使用start_date = (Time.now - 7.days).beginning_of_weekend_date = (Time.now - 7.days).end_of_week获得该周的开始和结束。

然后您可以像Model.where('created_at BETWEEN ? AND ?', start_date, end_date)一样进行查询。

答案 1 :(得分:1)

var observeDOM = (function(){
  var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;

  return function( obj, callback ){
    if( !obj || !obj.nodeType === 1 ) return; 

    if( MutationObserver ){
      // define a new observer
      var obs = new MutationObserver(function(mutations, observer){
          callback(mutations);
      })
      obs.observe( obj, { childList:true, subtree:true });
    }

    else if( window.addEventListener ){
      obj.addEventListener('DOMNodeInserted', callback, false);  //<----------****
      obj.addEventListener('DOMNodeRemoved', callback, false);
    }
  }
})();

请不要忘记时区。祝你好运