如何从Mysql数据库中获取当前时间的当前位移

时间:2017-06-22 11:16:15

标签: php mysql

这是我的表格: shift_master

this.testing = 'table';

我需要一个查询,其中我将传递当前时间,它将给出当前正在进行的班次记录。

我非常感谢你的帮助。

4 个答案:

答案 0 :(得分:0)

首先将start_time和end_time的数据类型更改为时间戳,然后以其格式输入时间,然后

SELECT shift FROM shift_master WHERE start_time <= NOW() AND end_time > NOW();

很难将存储为varchar的时间与current_time进行比较。如果可能,那么如上所述,它将简化您的工作。

答案 1 :(得分:0)

尝试使用此

SELECT shift FROM shift_master WHERE TIME(NOW()) BETWEEN TIME(STR_TO_DATE(start_time,'%h:%i %p')) AND TIME(STR_TO_DATE(end_time,'%h:%i %p'))

答案 2 :(得分:0)

尝试此查询

set @now_time = UNIX_TIMESTAMP( now() ) % 86400;

SELECT shift
FROM ( SELECT shift, UNIX_TIMESTAMP( STR_TO_DATE(start_time,'%h:%i %p') ) % 86400 as start, UNIX_TIMESTAMP( STR_TO_DATE(end_time,'%h:%i %p') ) % 86400 as end
FROM shift_master ) M
WHERE ( start < end AND @now_time BETWEEN start AND end - 1 ) OR
( start > end AND ( @now_time > start or @now_time < end ) )

答案 3 :(得分:0)

jQuery(function($){
      var slider = $('.homeslider').slick({
        slidesToShow: 1,
        slidesToScroll: 1,
        arrows: false,
        fade: true,
        autoplay: true,
        autoplaySpeed: 1000,
        initialSlide: 1,
      });
      slider.on('afterChange', function(event, slick, currentSlide) {
        var vid = $(slick.$slides[currentSlide]).find('video');
        if (vid.length > 0) {
          slider.slick('slickPause');
          $(vid).get(0).play();
        }
      });

      $('video').on('ended', function() {
        console.log('Video Complete')
        slider.slick('slickPlay');
      });

    });


    /* Custom Next & Previous Links for Homepage slider */
    jQuery(function($) {
      $('.prev').click(function(){
        $('.homeslider').slick('slickPrev');
      })
    });

    jQuery(function($) {
      $('.next').click(function(){
        $('.homeslider').slick('slickNext');
      })
    });