Pergunta

É possível criar uma função jQuery para que ele obtém a data e hora atual? Eu estive olhando em torno de documentação, mas não encontrei nada até agora ...

Foi útil?

Solução

@ nickf é correto. No entanto, para ser um pouco mais preciso:

// if you try to print it, it will return something like:
// Sat Mar 21 2009 20:13:07 GMT-0400 (Eastern Daylight Time)
// This time comes from the user's machine.
var myDate = new Date();

Então, se você quiser exibi-lo como mm / dd / aaaa, você faria isso:

var displayDate = (myDate.getMonth()+1) + '/' + (myDate.getDate()) + '/' + myDate.getFullYear();

Confira o referência completa do objeto Date. Infelizmente, não é quase tão bom para imprimir vários formatos como é com outras linguagens do lado do servidor. Por esta razão - são - muitos - funções disponíveis na natureza.

Outras dicas

Sim , é possível:

jQuery.now()

ou simplesmente

$.now()

ver jQuery Documentação para jQuery.now ()

Você não precisa jQuery para fazer isso, basta javascript. Por exemplo, você pode fazer um temporizador usando o seguinte:

<body onload="clock();">

<script type="text/javascript">
function clock() {
   var now = new Date();
   var outStr = now.getHours()+':'+now.getMinutes()+':'+now.getSeconds();
   document.getElementById('clockDiv').innerHTML=outStr;
   setTimeout('clock()',1000);
}
clock();
</script>   

<div id="clockDiv"></div>

</body>

Você pode ver uma referência completa aqui: http://www.hunlock.com/blogs/ Javascript_Dates-The_Complete_Reference

É javascript simples:

new Date()

Relógio Digital com jQuery

  <script type="text/javascript" src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js?ver=1.3.2'></script>
  <script type="text/javascript">
  $(document).ready(function() {
  function myDate(){
  var now = new Date();

  var outHour = now.getHours();
  if (outHour >12){newHour = outHour-12;outHour = newHour;}
  if(outHour<10){document.getElementById('HourDiv').innerHTML="0"+outHour;}
  else{document.getElementById('HourDiv').innerHTML=outHour;}

  var outMin = now.getMinutes();
  if(outMin<10){document.getElementById('MinutDiv').innerHTML="0"+outMin;}
  else{document.getElementById('MinutDiv').innerHTML=outMin;}

  var outSec = now.getSeconds();
  if(outSec<10){document.getElementById('SecDiv').innerHTML="0"+outSec;}
  else{document.getElementById('SecDiv').innerHTML=outSec;}

} myDate(); setInterval(function(){ myDate();}, 1000); }); </script> <style> body {font-family:"Comic Sans MS", cursive;} h1 {text-align:center;background: gray;color:#fff;padding:5px;padding-bottom:10px;} #Content {margin:0 auto;border:solid 1px gray;width:140px;display:table;background:gray;} #HourDiv, #MinutDiv, #SecDiv {float:left;color:#fff;width:40px;text-align:center;font-size:25px;} span {float:left;color:#fff;font-size:25px;} </style> <div id="clockDiv"></div> <h1>My jQery Clock</h1> <div id="Content"> <div id="HourDiv"></div><span>:</span><div id="MinutDiv"></div><span>:</span><div id="SecDiv"></div> </div>

Esta é minha maneira:

    <script type="text/javascript">
$(document).ready(function() {
    setInterval(function(){currentTime("#idTimeField")}, 500);
});
function currentTime(field) {
    var now = new Date();
    now = now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds();
    $(field).val(now);
}

não é talvez o melhor, mas fazer o trabalho:)

Irritantemente date.getSeconds() do Javascript et al não vai pad o resultado com zeros 11:0:0 vez de 11:00:00.

Então, eu gosto de usar

date.toLocaleTimestring()

O que torna 11:00:00 AM. Apenas tome cuidado ao usar as opções extras, alguns navegadores não apoiá-los (Safari)

Documentação

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top