Ad Widget

Collapse

Разница между 2мя датами

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Pro100
    Junior Member
    • May 2020
    • 25

    #1

    Разница между 2мя датами

    Прошу помощи:
    Нужно мониторить разницу между 2 датами.
    Даты могут Быть в любом формате
    Получаем дату с текстового формата типа 05-05-2020 это дата срока годности оборудования (срока окончания тех поддержки и так далее) есть сегодняшняя дата полученная с сервера, нужно сравнить и получить некое число между этими датами тобишь от даты 1 отнять дату 2,
    1) как получить дату с сервера
    2) Как отнять эту дату от даты полученной в текстовом файле.. дату которую получаю vfs.file.regexp[C:\Zabbix\fn.txt,"Месяц [0-9.]+ ФН, Дата ([0-9_-]+) ФН, [0-9]+ {HOST.HOST}",,,,\1]
    В текстовый файл заноситься даты и серийные номера оборудования потом эти данные забираю в заббикс, получение даты может быть в любом формате.
    что нужно сделать ПОМОГИТЕ..
  • Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    #2
    Преобразовать полученную дату js-препроцессингом в unixtime, сохранить как целое число, сравнить с текущим временем в триггере при помощи функций fuzzytime() или now().

    Comment

    • Pro100
      Junior Member
      • May 2020
      • 25

      #3
      Спасибо, мысль была правильная, не в иделе но все же то, что хотелось.
      По итогу срок окончания фискального накопителя пришлось вытаскивать в секундах, по итогу дату сервера так же, использовал параметр unixtime и uptime и сделал вычисляемый параметр между временем сервера и датой фискального накопителя и сделал тригеры по с работке до 10, 25, 45 дней получилось как хотел только время бы еще убрать сильно таблицу полнит.
      Click image for larger version

Name:	2020-06-09_0-35-27.png
Views:	476
Size:	23.2 KB
ID:	402904

      Comment

      • Semiadmin
        Senior Member
        • Oct 2014
        • 1625

        #4
        Если вычисляемый айтем получает разницу в секундах, то можно разделить на 86400 и взять целую часть

        Comment

        • Pro100
          Junior Member
          • May 2020
          • 25

          #5
          Если разделим на сутки 86400сек то получаем только время, а мне нужно чисто количество дней, что то может не так сделал, я результат разделил 86400 получил время в секундах, и в итемах везде стоит целое положительное.

          Comment

          • Semiadmin
            Senior Member
            • Oct 2014
            • 1625

            #6
            а что написано в Units ?

            Comment


            • Pro100
              Pro100 commented
              Editing a comment
              Вот так: uptime
          • Pro100
            Junior Member
            • May 2020
            • 25

            #7
            Если поставить параметр unixtime и разделить 86400 то выходит 1970 год с временем

            Comment

            • Pro100
              Junior Member
              • May 2020
              • 25

              #8
              Формула:
              last("vfs.file.contents[C:\Zabbix\fn\{HOST.HOST}.txt,]")-last("system.localtime[utc]")

              Единица измерения:
              uptime

              Тип информации
              Целое положительное

              Comment

              • Semiadmin
                Senior Member
                • Oct 2014
                • 1625

                #9
                Насколько я понимаю, формула дает количество оставшихся секунд, если разделить на 86400 и взять целую часть - будет количество оставшихся дней. В Units можно поставить, например, !д

                Comment

                • Pro100
                  Junior Member
                  • May 2020
                  • 25

                  #10
                  Originally posted by Semiadmin
                  Насколько я понимаю, формула дает количество оставшихся секунд, если разделить на 86400 и взять целую часть - будет количество оставшихся дней. В Units можно поставить, например, !д
                  Не совсем понял "например, !д"

                  Comment

                  • Semiadmin
                    Senior Member
                    • Oct 2014
                    • 1625

                    #11
                    "д" значит день. Можно так и написать - день, но будет проблема с падежами. Сокращения же не склоняются. "!" у нестандартной единицы измерения в этом случае можно и не писать, вряд ли тут будут килодни.

                    Comment

                    • Pro100
                      Junior Member
                      • May 2020
                      • 25

                      #12
                      Так если я вместо uptime поставлю свою единицу тогда сама конвертация дат исчезнет
                      Click image for larger version  Name:	2020-06-09_8-56-39.png Views:	0 Size:	25.4 KB ID:	402950Click image for larger version

Name:	2020-06-09_8-59-33.png
Views:	472
Size:	15.6 KB
ID:	402951

                      Comment

                      • Semiadmin
                        Senior Member
                        • Oct 2014
                        • 1625

                        #13
                        Да, тут не кило, тут гигадни. А я не мог понять, как у вас такое получается.

                        ​​​​​

                        Comment

                        • Pro100
                          Junior Member
                          • May 2020
                          • 25

                          #14
                          А можно ли как-то обрезать определенное количество знаков, в переработке... Есть только определенные знаки, или макросами как то вообще это возможно?

                          Comment

                          • Semiadmin
                            Senior Member
                            • Oct 2014
                            • 1625

                            #15
                            Вы действительно не понимаете, что не так в вашей формуле с делением?

                            Comment

                            Working...