Брать нужный файл по датам

Поддержка
  • Всем привет!

    Подскажите, мне нужно чтобы файлы менялись каждые 2 дня, т.е. я указываю в переменной по каким датам будет первый файл 1,2,5,6,9,10..... и в другой переменной по каким датам будет второй 3,4,7,8,11,12 и тд.

    Сейчас у меня стоит смена по четным датам и нечетным.

    [[DAY_OF_MONTH]]% 2 == 1
    

    и так

    [[DAY_OF_MONTH]]% 2 == 0
    
  • @gobson

    Math.floor( [[DAY_OF_MONTH]] / 2 ) % 2
    

    или

    ( [[DAY_OF_MONTH]] >> 1 ) & 1
    
  • @gobson said in Брать нужный файл по датам:

    Подскажите, мне нужно чтобы файлы менялись каждые 2 дня, т.е. я указываю в переменной по каким датам будет первый файл 1,2,5,6,9,10..... и в другой переменной по каким датам будет второй 3,4,7,8,11,12 и тд.

    А что подсказать то?

  • а еще проще:

    ( [[DAY_OF_MONTH]] & 2 ) == 0
    

    но будет работать начиная с нуля: 0,1,4,5,8,9,12,13...
    если надо с единицы, то предварительно увеличить [[DAY_OF_MONTH]] на единицу

  • @Vituskosoy said in Брать нужный файл по датам:

    а еще проще:

    ( [[DAY_OF_MONTH]] & 2 ) == 0
    

    но будет работать начиная с нуля: 0,1,4,5,8,9,12,13...
    если надо с единицы, то предварительно увеличить [[DAY_OF_MONTH]] на единицу

    Почти но не то, мне нужно именно указать по числам, потому что при данном решение если прогу перезагрузить то все собьется.

  • Каждый месяц нумерация начинается с начала? Или может быть такое, что 29 и 30 скрипт работает с первым файлом, а 31 и 1 - со вторым?

  • Эх так и не понял, в чем вопрос, но если надо просто чередовать файлы, тогда надо проверять вчерашний день, что бы узнать четный он или нет и от этого отталкиваться

  • @SimpleBot said in Брать нужный файл по датам:

    Каждый месяц нумерация начинается с начала? Или может быть такое, что 29 и 30 скрипт работает с первым файлом, а 31 и 1 - со вторым?

    все идет по кругу, если 31го числа нет, то берется файл 1го числа.

  • Вроде вот так должно работать

    var startDate = "01-05-2021"; // придумайте стартовую дату
    startDate = startDate.split("-");
    var startTime = (new Date( startDate[2], startDate[1] - 1, startDate[0])).getTime() - 1;
    var nowTime = Date.now();
    if(Math.ceil((nowTime - startTime) / (48 * 60 * 60 * 1000)) & 1){
    //работаем с первым файлом
    }
    else{
    //работаем со вторым файлом
    }
    
  •   var date =  new Date()
      date.setDate(date.getDate() - 1)
      [[EVEN_DAY]] = date.getDate()% 2 !== 0