Ad Widget

Collapse

Дата полученная с веб-страницы в виде текста и ее сравнение с текущей

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Alex S
    Junior Member
    • Feb 2021
    • 16

    #1

    Дата полученная с веб-страницы в виде текста и ее сравнение с текущей

    Подскажите, пожалуйста, можно ли решить вот такую задачу.
    Zabbix лезет на веб-страничку хоста и получает ее содержимое (Создается Item вида Http-agent)
    Содержимое - в виде JSON
    Далее парсит содержимое и черз зависимые ITEM - поулчает нужные себе поля в нужные Item
    Все хорошо все работает

    Одно из полей имеет вид "23.03.2021 15:38:10+0300"

    Есть задача сравнивать эту дату с текущей и когда до нее остается ну пусть будет 20 дней - вскидывать флажок-триггер
    Сравнивать можно с помощью fuzzytime но только с данными типа unixtime
    А тут по сути приходит голый текст

    Такие веб-странички есть как на хостах с заббикс-агентами так и нет (просто некая веб-страничка в интернете, с которой мы получаем нужные поля и среди них эту вот дату)

    Как можно преобразовать этот текст в формат даты?
    Или может как-то по другому можно решить задачу за 20 дней до наступления ВОТ ЭТОЙ ДАТЫ взятой со странички в виде текста вскинуть флажок-триггер?
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    Преобразуйте дату-строку в unixtime используя припроцессинг и JS.
    там же можете сравнить с текущей датой (или датой и дельтой заданным макросом)
    поищите на форуме - тема неоднократно поднималась.
    Last edited by Hamardaban; 12-03-2021, 20:32.

    Comment

    • Alex S
      Junior Member
      • Feb 2021
      • 16

      #3
      Originally posted by Hamardaban
      Преобразуйте дату-строку в unixtime используя припроцессинг и JS.
      там же можете сравнить с текущей датой (или датой и дельтой заданным макросом)
      поищите на форуме - тема неоднократно поднималась.
      Спаисбо, я предполагал этот путь, но мои знания js стремятся к нулю, а форум я уже облазил, пока подходящий пример не находится.
      Поищу еще.

      Comment

      • Hamardaban
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • May 2019
        • 2713

        #4
        вот корявый пример как по дате в текстовом формате «yyyymmdd» получить разницу с текущей датой (в секундах)

        Code:
        var V = new Date(parseInt(value.substring(0,4)),parseInt(value .substring(4,6))-1,parseInt(value.substring(6)))
        var N = new Date()
        N.setHours(0,0,0,0)
        return Math.floor(N.getTime()/1000) - Math.floor(V.getTime()/1000)
        Last edited by Hamardaban; 14-03-2021, 13:00.

        Comment

        • Alex S
          Junior Member
          • Feb 2021
          • 16

          #5
          Originally posted by Hamardaban
          вот корявый пример как по дате в текстовом формате «yyyymmdd» получить разницу с текущей датой (в секундах)

          Code:
          var V = new Date(parseInt(value.substring(0,4)),parseInt(value .substring(4,6))-1,parseInt(value.substring(6)))
          var N = new Date()
          N.setHours(0,0,0,0)
          return Math.floor(N.getTime()/1000) - Math.floor(V.getTime()/1000)
          Огромное спасибо!
          То что нужно!
          Вопрос можно закрывать

          Comment

          Working...