Data e hora em tempo real

Boa tarde, o script abaixo é para retornar data e hora atuais para um representação grafica, foi gerada pelo chat GPT.
Há a possibilidade de isto funcionar?

// Função para obter a data e hora atual em formato legível
function getCurrentDateTime() {
var now = new Date();
var day = now.getDate().toString().padStart(2, ‘0’);
var month = (now.getMonth() + 1).toString().padStart(2, ‘0’);
var year = now.getFullYear().toString().padStart(4, ‘0’);
var hours = now.getHours().toString().padStart(2, ‘0’);
var minutes = now.getMinutes().toString().padStart(2, ‘0’);
var seconds = now.getSeconds().toString().padStart(2, ‘0’);

var dateTimeString = ${day}/${month}/${year} ${hours}:${minutes}:${seconds};
return dateTimeString;
}

// Função para atualizar o valor de um ponto de dados com a data e hora em tempo real
function updateDateTimePoint() {
var dataPointName = “data_hora”; // Substitua pelo nome do seu ponto de dados

var dateTimeValue = getCurrentDateTime();

// Atualiza o valor do ponto de dados
setDataPointValue(dataPointName, dateTimeValue);
}

// Chamando a função para atualizar o valor do ponto de dados a cada segundo
setInterval(updateDateTimePoint, 1000);

Boa noite,

Não há nenhuma possibilidade do código acima funcionar, pois ele usa diversos recursos que não estão disponíveis na biblioteca Rhino (como template strings e acesso ao BOM), e tampouco para esta página de Scripting. Aparentemente o ChatGPT ainda não é capaz de substituir quem trabalha com ScadaBR ― hahahaha.

Agora, oferecendo uma solução para o seu problema sem reinventar a roda, você pode utilizar o script a seguir como um componente HTML dentro da Representação Gráfica:

<!-- @license MIT -->

<!-- This generates a digital clock -->

<span class="digital-clock borderDiv" data-is12hour="false">
    00:00:00  AM
</span>




<div style="max-width: 50px; max-height: 50px; overflow: hidden;">
    <style>
        .digital-clock {
            font-family: Arial, Helvetica, sans-serif;
            font-size: 30px;
            padding: 8px;
            background-color: #F1F1F160;
        }
    </style>
    
    <script>
        var updateClocksProto = function() {
            var clocks = document.getElementsByClassName("digital-clock");
            
            for (var i of clocks) {
                var date = new Date();
                var hour = date.getHours();
                var minute = date.getMinutes();
                var second = date.getSeconds();
                var am_pm = "";

                if (i.getAttribute("data-is12hour") == "true") {
                    am_pm = hour > 11 ? " PM" : " AM";
                    hour = hour > 11 ? hour - 12 : hour;
                }

                hour = hour > 9 ? hour : "0" + hour;
                minute = minute > 9 ? minute : "0" + minute;
                second = second > 9 ? second : "0" + second;

                i.innerHTML = hour + ":" + minute + ":" + second + am_pm;
            }
        }
        
        if (typeof updateClocks != "function") {
            updateClocks = updateClocksProto;
            window.setInterval(updateClocks, 500);
        }
    </script>
</div>
1 curtida

@Celso, como sempre nos ajudando com excelentes resoluções de dúvidas.
Muito obrigado pela explicação e pelo codigo.
Deus abençoe sempre.

Deu certo com a hora, mas a data não apareceu.

Aqui tem a referência do objeto Date() pra você conseguir personalizar o código acima adicionando os valores da data também (dia/mês/ano):

1 curtida