setInterval По минутам По минутам

Попробуйте это:

select col from table where col like '%\_1'

Символ

_ является веселым, например%, но он соответствует только одному символу, поэтому вам нужно избежать его с помощью \

См. здесь: http://dev.mysql.com/doc/refman/5.0/ru/string-comparison-functions.html#operator_like

13
задан Lajos Arpad 26 October 2017 в 13:08
поделиться

6 ответов

var date = new Date();

setTimeout(function() {
    setInterval(myFunction, 60000);
    myFunction();
}, (60 - date.getSeconds()) * 1000);

Очевидно, что это не на 100% точно, но для большинства случаев этого должно быть достаточно.

20
ответ дан 1 December 2019 в 07:51
поделиться

Я полагаю, что все ответы испорчены. После того как Вы запустили setInterval, время интервала не может быть изменено, не создавая новый объект setInterval. Таким образом, Вы будете только использовать вычисленное время начальной буквы для каждого повторения. Можно создать новые объекты setInterval, но это должно быть дорогостоящим.

См.: , Как я сбрасываю setInterval таймер?

Моя рекомендация состоит в том, чтобы создать функцию цикличного выполнения, которая использует setTimeout вместо этого.

Вот некоторый код:

var duration = 5; //in minutes. This is just to control the total length
var startTime = new Date().getTime(); //must be in milliseconds

function myOnTheMinuteTimer(){
    setTimeout(function(){
        var currentTimeMS = new Date().getTime();
        var diffMs = Math.abs(startTime - currentTimeMS);
        diffMs = diffMs/1000; //take out the milliseconds
        var seconds = Math.floor(diffMs % 60);
        diffMs = diffMs/60;
        var minutes = Math.floor(diffMs % 60);
        var minutesLeft = duration - minutes;
        console.log("Time passed:", minutes + "m :" + seconds + "s");

        if(minutes <= duration){
            console.log("Timer expired.");
        } else {
            myOnTheMinuteTimer();   
        }
    }, setIntervalTimeToNextMinute());
}


//Initialize timer
myOnTheMinuteTimer();


//Get our time until the next minute
function setIntervalTimeToNextMinute(){
    var currentDateSeconds = new Date().getSeconds();
    if(currentDateSeconds == 0){
        return 60000;
    } else {
        return (60 - currentDateSeconds) * 1000;
    }
}

Мой вариант использования для этого был сессией timout:

startTime - позволяет мне передать в любое время миллисекунд. Таким образом, я могу избежать ошибок в загрузке страницы. Скажите пользовательские логины в в определенное время. Я получаю то время, затем передаю его в начальную функцию, и оно будет корректироваться назад к на мелком вычислении.

продолжительность - я использую проверку продолжительности на установку тайм-аута. Если приложение имеет 20-минутный тайм-аут, то я должен направить пользователя на экран входа в систему.

дополнительно - можно добавить больше изменений. Скажите, что Вы хотите дать пользователю 2-минутное предупреждение, что они выйдутся из системы. Просто еще добавьте к условному выражению если в течение 2 минут.

Hope, которая помогает! Счастливое кодирование!

0
ответ дан 1 December 2019 в 07:51
поделиться
var nextTick = function() {
  return 60000 - (new Date().getTime() % 60000);
}, timerFunction = function() {
  // do stuff
  // do stuff
  // do stuff
  setTimeout(timerFunction, nextTick());
};
var timeout = setTimeout(timerFunction, nextTick());
7
ответ дан 1 December 2019 в 07:51
поделиться
var d = new Date();
var milisecondsUntilMinuteChanges = 60000 - d.getMilliseconds() - (1000 * d.getSeconds());
0
ответ дан 1 December 2019 в 07:51
поделиться
var seconds = (new Date()).getSeconds();

Используйте 60 секунд в качестве времени ожидания. Конечно, setTimeout позволяет вам указывать миллисекунды, что означает, что вы также должны проверять миллисекунды, но это даст вам «достаточно близко» для большинства приложений. Во всяком случае, это должно заставить вас промахнуться через минуту на долю секунды, но лучше промахнуться, чем недооценить. Недостаточный выстрел может привести к катастрофическому отказу при использовании этого метода.

1
ответ дан 1 December 2019 в 07:51
поделиться
function waitForNewMinute() {
    if (new Date().getSeconds()>1) {
        setTimeout(waitForNewMinute, 500);
    } else {
        setInterval(doMyThing,60000);
    } 
}

waitForNewMinute();
0
ответ дан 1 December 2019 в 07:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: