Pregunta
¿es posible crear una función de jQuery para que llegue la fecha y hora actuales? He estado buscando alrededor de documentación, pero no he encontrado nada hasta ahora ...
Solución
@ de nickf correcta. Sin embargo, para ser un poco más 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();
Así que si desea mostrar como dd / mm / aaaa, que podría hacer esto:
var displayDate = (myDate.getMonth()+1) + '/' + (myDate.getDate()) + '/' + myDate.getFullYear();
Consulte el referencia completa del objeto Date. Por desgracia, no es tan agradable para imprimir varios formatos como lo es con otros lenguajes del lado del servidor. Por esta razón no - son - muchos - funciones disponibles en la naturaleza.
Otros consejos
No es necesario jQuery para hacer eso, simplemente Javascript. Por ejemplo, se puede hacer un temporizador utilizando la siguiente:
<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>
Usted puede ver una referencia completa aquí: http://www.hunlock.com/blogs/ Javascript_Dates-The_Complete_Reference
Es normal javascript:
new Date()
Reloj digital con 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 es mi manera:
<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);
}
que no es tal vez el mejor, pero hacer el trabajo:)
Irritantemente Javascript de date.getSeconds()
et al No rellenar el resultado con ceros en lugar de 11:0:0
11:00:00
.
Así me gusta usar
date.toLocaleTimestring()
¿Qué hace que 11:00:00 AM
. Sólo ten cuidado al usar las opciones adicionales, algunos navegadores no soportan ellos (Safari)