JQuery ile güncel zaman nasıl alınır


129

Aşağıdaki, mikrosaniye cinsinden zamanı döndürür, örneğin 4565212462.

alert( $.now() );

Bunu insan tarafından okunabilir bir saat biçimine nasıl dönüştürebilirim, örneğin (saat: dakika: saniye) ?


1
$.now()JavaScript'in yerel uygulaması olduğu için jQuery'ye ihtiyacınız yok : stackoverflow.com/questions/20456712/…
Josh Crozier

Düzeltmeler: (1) Bu, yerel Date.now () ile değiştirildi ve (2) Döndürülen zaman mikrosaniye değil, milisaniyedir.
den232

Yanıtlar:


304

Şöyle deneyebilirsiniz:

new Date($.now());

Ayrıca Javascript kullanarak bunu yapabilirsiniz:

var dt = new Date();
var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds();
document.write(time);


7
.GetHours () işlevinin yerel makinenin saat dilimindeki saatleri döndürdüğünü lütfen unutmayın. Kullanıcının tarayıcısı sizden başka bir saat dilimindeyse, getHours'dan başka sonuçlar alır. Bu aynı zamanda .toString () yöntemi için de geçerlidir. Javascript'te saat dilimini kontrol etmek zordur (sizin ve istediğiniz saat dilimi arasındaki farkı hesaplamanız ve tarihi buna göre değiştirmeniz gerekir). Başka bir yanıtta belirtildiği gibi, moment.js kullanmak iyi bir fikir gibi görünüyor. momentjs.com
Chris 15

1
Her get için padStart eklemeyi de düşünmelisiniz: dt.getMinutes (). ToString.padStart (2, '0') Bu, sayıların 2 basamak uzunluğunda ve doldurulmuş bir sıfırla kalmasını sağlar ve önerilen javascript işlevini takip eder - çok güzel geleceğe dönük: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Negative Zero

2
@NegativeZero Gerçekten yararlı (gerekli değilse) bir öneri. Ne yazık ki benim için Firefox'ta çalışmadı (diğer tarayıcılarda test etmedim). Ancak, onu String (dt.getMinutes ()). PadStart (2, '0') olarak yeniden yazmak benim için çalışıyor.
biscuitstack

54

Tüm "sayıları" manuel olarak getirmeniz gerekiyor

bunun gibi:

var currentdate = new Date(); 
    var datetime = "Now: " + currentdate.getDate() + "/"
                + (currentdate.getMonth()+1)  + "/" 
                + currentdate.getFullYear() + " @ "  
                + currentdate.getHours() + ":"  
                + currentdate.getMinutes() + ":" 
                + currentdate.getSeconds();

document.write(datetime);


39

Bir Datenesneyi, Date.prototypedönüşüm alıcılarından birini kullanarak dizeye dönüştürün , örneğin:

var d = new Date();
d+'';                  // "Sun Dec 08 2013 18:55:38 GMT+0100"
d.toDateString();      // "Sun Dec 08 2013"
d.toISOString();       // "2013-12-08T17:55:38.130Z"
d.toLocaleDateString() // "8/12/2013" on my system
d.toLocaleString()     // "8/12/2013 18.55.38" on my system
d.toUTCString()        // "Sun, 08 Dec 2013 17:55:38 GMT"

Veya daha özelleştirilmiş istiyorsanız, alıcı yöntemlerinin listesineDate.prototype bakın .


25

Bunun için jQuery kullanmanıza gerek yok!

Yerli JavaScript uygulamasıdırDate.now() .

Date.now()ve $.now()aynı değeri döndür:

Date.now(); // 1421715573651
$.now();    // 1421715573651
new Date(Date.now())   // Mon Jan 19 2015 20:02:55 GMT-0500 (Eastern Standard Time)
new Date($.now());     // Mon Jan 19 2015 20:02:55 GMT-0500 (Eastern Standard Time)

.. ve saatin ss-aa-ss olarak biçimlendirilmesini istiyorsanız:

var now = new Date(Date.now());
var formatted = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
// 20:10:58

1
Yeni Date () için şimdiye kadar varsayılan olduğu gibi parametreler sağlamanıza gerek yoktur.
Andrew Spode

1
@Spode Ah, iyi nokta. O zaman diğer yanıtların neden jQuery kullandığından emin değilim.
Josh Crozier

17

.clock {
width: 260px;
margin: 0 auto;
padding: 30px;
color: #FFF;background:#333;
}
.clock ul {
width: 250px;
margin: 0 auto;
padding: 0;
list-style: none;
text-align: center
}

.clock ul li {
display: inline;
font-size: 3em;
text-align: center;
font-family: "Arial", Helvetica, sans-serif;
text-shadow: 0 2px 5px #55c6ff, 0 3px 6px #55c6ff, 0 4px 7px #55c6ff
}
#Date { 
font-family: 'Arial', Helvetica, sans-serif;
font-size: 26px;
text-align: center;
text-shadow: 0 2px 5px #55c6ff, 0 3px 6px #55c6ff;
padding-bottom: 40px;
}

#point {
position: relative;
-moz-animation: mymove 1s ease infinite;
-webkit-animation: mymove 1s ease infinite;
padding-left: 10px;
padding-right: 10px
}

/* Animasi Detik Kedap - Kedip */
@-webkit-keyframes mymove 
{
0% {opacity:1.0; text-shadow:0 0 20px #00c6ff;}
50% {opacity:0; text-shadow:none; }
100% {opacity:1.0; text-shadow:0 0 20px #00c6ff; } 
}

@-moz-keyframes mymove 
{
0% {opacity:1.0; text-shadow:0 0 20px #00c6ff;}
50% {opacity:0; text-shadow:none; }
100% {opacity:1.0; text-shadow:0 0 20px #00c6ff; } 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// Making 2 variable month and day
var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; 
var dayNames= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]

// make single object
var newDate = new Date();
// make current time
newDate.setDate(newDate.getDate());
// setting date and time
$('#Date').html(dayNames[newDate.getDay()] + " " + newDate.getDate() + ' ' + monthNames[newDate.getMonth()] + ' ' + newDate.getFullYear());

setInterval( function() {
// Create a newDate() object and extract the seconds of the current time on the visitor's
var seconds = new Date().getSeconds();
// Add a leading zero to seconds value
$("#sec").html(( seconds < 10 ? "0" : "" ) + seconds);
},1000);

setInterval( function() {
// Create a newDate() object and extract the minutes of the current time on the visitor's
var minutes = new Date().getMinutes();
// Add a leading zero to the minutes value
$("#min").html(( minutes < 10 ? "0" : "" ) + minutes);
},1000);

setInterval( function() {
// Create a newDate() object and extract the hours of the current time on the visitor's
var hours = new Date().getHours();
// Add a leading zero to the hours value
$("#hours").html(( hours < 10 ? "0" : "" ) + hours);
}, 1000); 
});
</script>
<div class="clock">
<div id="Date"></div>
<ul>
<li id="hours"></li>
<li id="point">:</li>
<li id="min"></li>
<li id="point">:</li>
<li id="sec"></li>
</ul>
</div>


9

jQuery.now() İade: Sayı

Açıklama: Geçerli saati temsil eden bir sayı döndürür.

Bu yöntem herhangi bir argümanı kabul etmez.

$.now()Yöntem, ifade tarafından döndürülen bir sayı için bir kısaltmadır (new Date).getTime().

http://api.jquery.com/jQuery.now/

Javascript'i kullanmak çok basit:

var d = new Date();
var time = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
console.log(time);

5

jQuery'nin $ .now (), dahili bir Javascript işlevi olan yeni Date (). getTime () 'nin takma adıdır.

http://api.jquery.com/jquery.now/

Bu, içinde bulunduğunuz çevrelere bağlı olarak genellikle Unix Time, Epoch veya Timestamp olarak anılan (doğru olması gerekmez) 1970'ten beri geçen saniye sayısını döndürür. Basit matematik kullanarak tarihler / saatler arasındaki farkı hesaplamak için gerçekten kullanışlı olabilir . Herhangi bir TimeZone bilgisi yoktur ve her zaman UTC'dir.

http://en.wikipedia.org/wiki/Unix_time

Bu takma addan başka jQuery kullanmaya gerek yoktur, tarih / saat manipülasyonuna yardımcı olmak için çok az şey yapar.

Saati metinde göstermenin hızlı ve kirli bir yolunu arıyorsanız, Javascript Date nesnesi, ISO biçimli bir Tarih Saati döndürecek bir "toString" prototipine sahiptir.

new Date().toString();
//returns "Thu Apr 30 2015 14:37:36 GMT+0100 (BST)"

Büyük olasılıkla biçimlendirmenizi özelleştirmek isteyeceksiniz. Date nesnesi, kendi dize temsilinizi oluşturabilmeniz için ilgili ayrıntılarınızı alma yeteneğine sahiptir.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

var d = new Date(); //without params it defaults to "now"
var t = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
//Will return 14:37:36

Bununla birlikte, bir jQuery çözümü istemiş olduğunuz gibi - muhtemelen daha eski tarayıcılarla çalışıyorsunuzdur. Daha spesifik şeyler yapmak istiyorsanız - özellikle dizeleri Tarih nesnelerine çevirmek (API yanıtları için kullanışlıdır), Moment.js'ye bakmak isteyebilirsiniz.

http://momentjs.com/

Bu, tarayıcılar arası uyumluluğu sağlar ve çok sayıda dizeyi bir araya getirmeye gerek kalmadan çok daha gelişmiş biçimlendirmeye sahiptir! Örneğin:

moment().format('hh:mm:ss');
//Will return 14:37:36

4

Kullandığım anı (bunu kullanırsanız hem istemci tarafında ve node.js) Tüm zamanımı manipülasyon / ekran ihtiyaçları için, sadece yapacak cevaplar yukarıdaki basit biçimi gerekiyorsa, biraz daha karmaşık bir şey arıyorsanız eğer, an, IMO'ya gitmenin yoludur.


3
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<script>
    function ShowLocalDate()
    {
    var dNow = new Date();
    var localdate= (dNow.getMonth()+1) + '/' + dNow.getDate() + '/' + dNow.getFullYear() + ' ' + dNow.getHours() + ':' + dNow.getMinutes();
    $('#currentDate').text(localdate)
    }
</script>

</head>
<body>
    enter code here
    <h1>Get current local enter code here Date in JQuery</h1>
    <label id="currentDate">This is current local Date Time in JQuery</p>
    <button type="`enter code here button onclick="ShowLocalDate()">Show Local DateTime</button>

</body>
</html> 

aşağıdaki linkten daha fazla bilgi alabilirsiniz

http://www.morgantechspace.com/2013/11/Get-current-Date-time-in-JQuery.html#GetLocalDateTimeinJQuery


1

Deneyin

console.log(
  new Date().toLocaleString().slice(9, -3)
  , new Date().toString().slice(16, -15)
);



0

ISO8601SQL'de yerel saat için TIMESTAMPşunları deneyebilirsiniz:

var tzoffset = (new Date()).getTimezoneOffset() * 60000;
var localISOTime = (new Date(Date.now() - tzoffset))
  .toISOString()
  .slice(0, 19)
  .replace('T', ' ');
$('#mydatediv').val(localISOTime);


0

<p id="date"></p>

<script>
var d = new Date();
document.getElementById("date").innerHTML = d.toTimeString();
</script>

JS'de Date () kullanabilirsiniz.


0

Devamındaki

function gettzdate(){
    var fd = moment().format('YYYY-MM-DDTHH:MM:ss');
    return fd ; 
}

geçerli tarihi bir <input type="datetime-local">

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.