Skip to content
  • Categorias
  • Recente
  • Tags
  • Popular
Collapse
Brand Logo

  1. Fórum Maker
  2. Categorias
  3. Fluxos
  4. Fluxo para operacoes matematicas com hora e data no Maker 5

Fluxo para operacoes matematicas com hora e data no Maker 5

Agendado Fixado Trancado Movido Fluxos
11 Posts 2 Posters 727 Visualizações
  • Mais Antigo para Mais Recente
  • Mais Recente para Mais Antigo
  • Mais Votados
Responder
  • Responder como tópico
Entre para responder
Este tópico foi deletado. Apenas usuários com privilégios de moderação de tópico podem vê-lo.
  • M Offline
    M Offline
    Mider
    escreveu em última edição por
    #1

    Ola,

    Alguém sabe como funciona o maker na parte de fluxos para fazer operações matemáticas com horas na versão 5? Tem que fazer uma conversão antes nos parâmetros ou ja com a função soma e possível? Vi que por parâmetros as operações la so trabalham com o tipo numero e nao data/hora.

    1 Resposta Última resposta
    0
    • DiegoJCD Offline
      DiegoJCD Offline
      DiegoJC
      escreveu em última edição por DiegoJC
      #2

      Existem as funções de diferença entre datas, pesquise por "Diferenças" e veja se te atende.

      Não sei qual a necessidade, mas se for adicionar ou subtrair, você pode usar a função "Incrementar Hora / Minuto / Segundo", como na imagem abaixo:

      image.png

      OBS: Se quiser somar coloca numero positivo, se quiser subtrair coloca numero negativo.

      1 Resposta Última resposta
      1
      • M Offline
        M Offline
        Mider
        escreveu em última edição por
        #3

        Ola bom dia,

        Seria so pra fazer as operações matemáticas mesmo entre as horas sem as datas. Subtração, divisão, multiplicação, soma e etc.

        1 Resposta Última resposta
        0
        • DiegoJCD Offline
          DiegoJCD Offline
          DiegoJC
          escreveu em última edição por
          #4

          OK! Avalie as funções nativas, muitas delas facilitam a vida na hora de trabalhar com data e hora. Agora quando é algo específico, geralmente eu trato manualmente, converto para numero, faço as operaçoes necessarias e transformo em data / hora novamente.

          Lembrando também, existe a possibilidade de realizar essas operações via banco (Query - SQL) e até via Javascript.

          Um abraço.

          1 Resposta Última resposta
          0
          • M Offline
            M Offline
            Mider
            escreveu em última edição por
            #5

            Vendo aqui nas funções nativas(matemáticas) da maker vi que só aceita parâmetros sendo eles no formato de números como datatype. Neste caso via fluxo seria possível fazer a conversão de data pra numero? Também nao achei aqui. Via Javascript e possível como? Estou meio perdido porque estou ainda me adaptando ao maker.

            1 Resposta Última resposta
            0
            • DiegoJCD Offline
              DiegoJCD Offline
              DiegoJC
              escreveu em última edição por
              #6

              Se você usar a função "Para Inteiro" em uma data, se nao estiver enganado, ela coverte para numero "Timestamp".

              Ou você obter ir obtendo a parte da data que deseja, por exemplo. usando a função "ANO", retorna o ano da data em inteiro, ou "MÊS" ou "DIA" para retornar o mês e dia em formato inteiro.

              Via Javascript o Maker tem uma função nativa "Executar JavaScript", no qual você pode escrever seu código e executá-lo.

              1 Resposta Última resposta
              0
              • DiegoJCD Offline
                DiegoJCD Offline
                DiegoJC
                escreveu em última edição por
                #7

                Fiz um exemplo rapido aqui para alertar a conversão via MAKER, veja se ajuda:

                image.png

                o Códgio JS ta aqui se quiser copiar e colar:

                function dataParaTimestamp(data) {
                const timestamp = new Date(data).getTime();
                return timestamp;
                }

                const minhaData = new Date("2023-08-04T12:34:56");
                const timestamp = dataParaTimestamp(minhaData);
                return timestamp;

                1 Resposta Última resposta
                0
                • M Offline
                  M Offline
                  Mider
                  escreveu em última edição por
                  #8

                  Oi boa tarde,

                  Vou testar aqui o JS e ver se vai. Na função para inteiro vi la antes que ele arredonda e deixa so uma casa. Por exemplo de 12,54 ele converte pra 12. Neste caso no JS iria precisar de dois parâmetros pois quero pegar hora da entrada e a saída por exemplo 08:00 e 12:00 e assim fazer as operações matemáticas. Pelo que eu mexi aqui na API de função, quando ele ja vem com os parâmetros pre definidos nao pra colocar mais.

                  1 Resposta Última resposta
                  0
                  • DiegoJCD Offline
                    DiegoJCD Offline
                    DiegoJC
                    escreveu em última edição por
                    #9

                    Boa tarde,

                    No JS você pode passar quantos parametro desejar, você pode montar a string do JS concantenado e passando parametro ou pode usar a função "Trocar todas as subsquencias".

                    Eu costumo aninhar varias "Trocar todas as subsequencias", uma para cada parametro, utilizando uma tag no meu parametro, por exemplo @dataHoraEntrada e dai eu troco essa subquencia pelo valor do parametro, obvio que só precisa se atentar a formatação do JS.

                    Espero ter ajudado.

                    1 Resposta Última resposta
                    0
                    • DiegoJCD Offline
                      DiegoJCD Offline
                      DiegoJC
                      escreveu em última edição por
                      #10

                      Escrevi esse exemplo, subtraíndo 2 datas e retornando a quantidade de horas entre elas:

                      image.png

                      Para funcionar coloquei a data nesse formato:

                      image.png

                      Segue o código JS:
                      function diferencaEmHoras(dataInicio, dataFim) {
                      const inicio = new Date(dataInicio);
                      const fim = new Date(dataFim);
                      const diferencaEmMilissegundos = Math.abs(fim - inicio);
                      const diferencaEmHoras = diferencaEmMilissegundos / (1000 * 60 * 60); // 1000 ms * 60 s * 60 min = 1 hora
                      return diferencaEmHoras;
                      }

                      const dataInicio = "@dataInicio";
                      const dataFim = "@dataFim";

                      const diferencaHoras = diferencaEmHoras(dataInicio, dataFim);
                      return diferencaHoras;

                      1 Resposta Última resposta
                      0
                      • M Offline
                        M Offline
                        Mider
                        escreveu em última edição por
                        #11

                        Ola Diego boa tarde,

                        No caso dos parâmetros ali no JS eu entendi, mas a dificuldade que estou encontrando e em relação aos parâmetros que passamos la no fluxo do maker. Eu estou so trabalhando com pegar as horas no formulário e fazer as operações matemáticas. Como elas estão no tipo hora o maker nao esta indo, pois o maker só faz operações com tipo numero la na API.

                        Por exemplo la no formulário na caixa de texto tem : entrada(12:00) saída(17:00). Como estao nesse tipo de dados não achei uma função de conversão de Hora para Numero na API para dai sim fazer as operações matemáticas.

                        1 Resposta Última resposta
                        0
                        Responder
                        • Responder como tópico
                        Entre para responder
                        • Mais Antigo para Mais Recente
                        • Mais Recente para Mais Antigo
                        • Mais Votados


                        • Login

                        • Não tem uma conta? Cadastrar

                        • Login or register to search.
                        • Primeiro post
                          Último post
                        0
                        • Categorias
                        • Recente
                        • Tags
                        • Popular