So erhalten Sie die aktuelle Uhrzeit mit jQuery

129

Im Folgenden wird die Zeit in Mikrosekunden zurückgegeben, z. B. 4565212462.

alert( $.now() );

Wie konvertiere ich es in ein für Menschen lesbares Zeitformat wie (Stunden: Minuten: Sekunden) ?

Relm
quelle
1
Sie benötigen jQuery nicht, $.now()da JavaScript eine native Implementierung hat: stackoverflow.com/questions/20456712/…
Josh Crozier
Korrekturen: (1) Dies wurde durch das native Date.now () ersetzt und (2) Die zurückgegebene Zeit wird in Millisekunden und nicht in Mikrosekunden angegeben.
den232

Antworten:

304

Sie können dies versuchen:

new Date($.now());

Auch mit Javascript können Sie Folgendes tun:

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

Rahul Tripathi
quelle
7
Bitte beachten Sie, dass .getHours () die Stunden in der Zeitzone des lokalen Computers zurückgibt. Wenn der Benutzer seinen Browser in einer anderen Zeitzone als Sie hat, erhält er andere Ergebnisse von getHours. Dies gilt auch für die Methode .toString (). Die Steuerung der Zeitzone in Javascript ist schwierig (Sie müssen den Versatz zwischen Ihrer und der gewünschten Zeitzone berechnen und das Datum entsprechend ändern). Wie in einer anderen Antwort erwähnt, klingt die Verwendung von moment.js nach einer guten Idee. momentjs.com
Chris
1
Sie sollten auch in Betracht ziehen, padStart in jedes get aufzunehmen: dt.getMinutes (). ToString.padStart (2, '0') Dadurch wird sichergestellt, dass die Zahlen mit einer aufgefüllten Null 2-stellig bleiben, und es folgt der vorgeschlagenen Javascript-Funktionalität - so hübsch zukunftssicher: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Negative Zero
2
@ NegativeZero Ein wirklich nützlicher (wenn nicht wesentlicher) Vorschlag. Leider hat es in Firefox bei mir nicht funktioniert (ich habe es nicht in anderen Browsern getestet). Das Umschreiben als String (dt.getMinutes ()). PadStart (2, '0') funktioniert jedoch für mich.
Keksstapel
54

Sie müssen alle "Zahlen" manuell abrufen

so was:

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

document.write(datetime);

Philip G.
quelle
39

Konvertieren Sie ein DateObjekt in einen String, indem Sie einen der Date.prototypeKonvertierungs-Getter verwenden , zum Beispiel:

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"

Wenn Sie es individueller gestalten möchten, lesen Sie die Liste der Date.prototypeGetter-Methoden .

Oriol
quelle
25

Sie müssen dafür nicht jQuery verwenden!

Die native JavaScript-Implementierung istDate.now() .

Date.now()und $.now()geben Sie den gleichen Wert zurück:

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)

..und wenn Sie die Zeit in hh-mm-ss formatieren möchten:

var now = new Date(Date.now());
var formatted = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
// 20:10:58
Josh Crozier
quelle
1
Sie müssen new Date () nicht mit Parametern versehen, da dies standardmäßig jetzt ist.
Andrew Spode
1
@Spode Ah, guter Punkt. Ich bin mir nicht sicher, warum andere Antworten damals jQuery verwendeten.
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>

Dessy Anggita Sangganingrum
quelle
9

jQuery.now() Rückgabe: Nummer

Beschreibung: Gibt eine Zahl zurück, die die aktuelle Zeit darstellt.

Diese Methode akzeptiert keine Argumente.

Die $.now()Methode ist eine Abkürzung für die vom Ausdruck zurückgegebene Zahl (new Date).getTime().

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

Es ist einfach, Javascript zu verwenden:

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

$ .now () von jQuery ist ein Alias ​​von new Date (). getTime (), einer internen Javascript-Funktion.

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

Dies gibt die Anzahl der seit 1970 verstrichenen Sekunden zurück, die üblicherweise (nicht unbedingt korrekt) als Unix-Zeit, Epoche oder Zeitstempel bezeichnet werden, abhängig von den Kreisen, in die Sie fallen. Dies kann sehr praktisch sein, um die Differenz zwischen Datum und Uhrzeit mithilfe einfacher Mathematik zu berechnen . Es hat keine TimeZone-Informationen und ist immer UTC.

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

Es ist nicht erforderlich, jQuery als diesen Alias ​​zu verwenden. Es hilft nur wenig bei der Manipulation von Datum und Uhrzeit.

Wenn Sie nach einer schnellen und schmutzigen Möglichkeit suchen, die Uhrzeit im Text darzustellen, verfügt das Javascript Date-Objekt über einen "toString" -Prototyp, der eine ISO-formatierte Datumszeit zurückgibt.

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

Höchstwahrscheinlich möchten Sie Ihre Formatierung anpassen. Das Date-Objekt kann Ihre relevanten Details abrufen, sodass Sie Ihre eigene Zeichenfolgendarstellung erstellen können.

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

Da Sie jedoch nach einer jQuery-Lösung gefragt haben, ist es wahrscheinlich, dass Sie mit älteren Browsern arbeiten. Wenn Sie spezifischere Dinge tun möchten - insbesondere das Interpretieren von Zeichenfolgen in Datumsobjekten (nützlich für API-Antworten), sollten Sie sich Moment.js ansehen.

http://momentjs.com/

Dies gewährleistet eine browserübergreifende Kompatibilität und hat die Formatierung erheblich verbessert, ohne dass viele Zeichenfolgen miteinander verkettet werden müssen! Beispielsweise:

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

Ich benutze Moment für alle meine Zeitmanipulations- / Anzeigebedürfnisse (sowohl clientseitig als auch node.js, wenn Sie es verwenden). Wenn Sie nur ein einfaches Format benötigen, reichen die obigen Antworten aus, wenn Sie nach etwas Komplexerem suchen. Moment ist der Weg zu IMO.

TheZuck
quelle
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> 

Weitere Informationen erhalten Sie unter dem folgenden Link

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

Hussain Patel
quelle
1

Versuchen

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

guest271314
quelle
1

Mit den nativen JavaScript-Datumsfunktionen können Sie Stunden , Minuten und Sekunden nach Belieben abrufen. Wenn Sie Datum und Uhrzeit auf bestimmte Weise formatieren möchten, möchten Sie möglicherweise eine Methode implementieren, die den JavaScript-Datumsprototyp erweitert.

Hier ist eine bereits implementiert: https://github.com/jacwright/date.format

Ruwanka Madhushan
quelle
0

Für die Ortszeit in ISO8601SQL können TIMESTAMPSie Folgendes versuchen:

var tzoffset = (new Date()).getTimezoneOffset() * 60000;
var localISOTime = (new Date(Date.now() - tzoffset))
  .toISOString()
  .slice(0, 19)
  .replace('T', ' ');
$('#mydatediv').val(localISOTime);
Renzo Fabio Castillo Cáceres
quelle
0

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

Thendral R.
quelle
Fügen Sie relevante Antwort zu Ihrer Antwort hinzu
Anantha Raju C
0

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

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

Sie können Date () in JS verwenden.

Suman Kumar
quelle
0

Folgende

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

funktioniert zum Erzwingen des aktuellen Datums auf a <input type="datetime-local">

Louis
quelle