Cara mendapatkan waktu saat ini dengan jQuery

129

Berikut ini mengembalikan waktu dalam mikrodetik, misalnya 4565212462.

alert( $.now() );

Bagaimana cara mengonversinya menjadi format waktu yang dapat dibaca manusia, seperti (jam: menit: detik) ?

Relm
sumber
1
Anda tidak perlu jQuery $.now()karena JavaScript memiliki implementasi asli: stackoverflow.com/questions/20456712/…
Josh Crozier
Koreksi: (1) Ini telah diganti dengan Date.now sekarang asli (), dan (2) Waktu dikembalikan dalam milidetik, bukan mikrodetik.
den232

Jawaban:

304

Anda dapat mencoba seperti ini:

new Date($.now());

Juga menggunakan Javascript yang dapat Anda lakukan seperti ini:

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

Rahul Tripathi
sumber
7
Harap perhatikan bahwa .getHours () mengembalikan jam di zona waktu mesin lokal. Jika pengguna memiliki browser mereka di zona waktu lain selain Anda, mereka akan mendapatkan hasil lain dari getHours. Ini juga berlaku untuk metode .toString (). Mengontrol zona waktu dalam javascript itu rumit (Anda harus menghitung offset antara zona waktu Anda dan yang diinginkan dan memodifikasi tanggal yang sesuai). Jadi seperti yang disebutkan dalam jawaban lain, menggunakan moment.js sepertinya ide yang bagus. momentjs.com
Chris
1
Anda juga harus mempertimbangkan memasukkan padStart untuk masing-masing mendapatkan: dt.getMinutes (). ToString.padStart (2, '0') Ini akan memastikan bahwa angka-angka tetap 2 digit panjang dengan nol empuk, dan mengikuti fungsionalitas javascript yang diusulkan - sangat cantik terbukti di masa depan: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Negative Zero
2
@NegativeZero Saran yang sangat berguna (jika tidak esensial). Sayangnya itu tidak berfungsi untuk saya di Firefox (saya tidak menguji di browser lain). Namun, menulis ulang sebagai String (dt.getMinutes ()). PadStart (2, '0') berfungsi untuk saya.
biscuitstack
54

Anda harus mengambil semua "angka" secara manual

seperti ini:

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
sumber
39

Konversi Dateobjek ke string, menggunakan salah satu Date.prototypepengambil konversi , misalnya:

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"

Atau, jika Anda menginginkannya lebih khusus, lihat daftar Date.prototypemetode pengambil .

Oriol
sumber
25

Anda tidak perlu menggunakan jQuery untuk ini!

The implementasi JavaScript asli adalahDate.now() .

Date.now()dan $.now()mengembalikan nilai yang sama:

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)

..dan jika Anda ingin waktu yang diformat dalam jj-mm-dt:

var now = new Date(Date.now());
var formatted = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
// 20:10:58
Josh Crozier
sumber
1
Anda tidak perlu memberikan parameter ke Date () baru karena defaultnya sekarang.
Andrew Spode
1
@Spode Ah, poin bagus. Saya tidak yakin mengapa jawaban lain menggunakan jQuery saat itu.
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
sumber
9

jQuery.now() Pengembalian: Nomor

Deskripsi: Mengembalikan nomor yang mewakili waktu saat ini.

Metode ini tidak menerima argumen apa pun.

The $.now()metode adalah singkatan untuk jumlah yang dikembalikan oleh ekspresi (new Date).getTime().

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

Mudah menggunakan Javascript:

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

$ .now () jQuery adalah alias dari Date (). getTime () baru, fungsi Javascript internal.

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

Ini mengembalikan jumlah detik yang berlalu sejak tahun 1970, yang biasa disebut (tidak harus dengan benar) sebagai Waktu Unix, Epoch, atau Stempel Waktu, tergantung pada lingkaran tempat Anda berada. Dapat sangat berguna untuk menghitung perbedaan antara tanggal / waktu menggunakan matematika sederhana . Tidak memiliki informasi TimeZone dan selalu UTC.

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

Tidak perlu menggunakan jQuery karena selain alias ini, ia tidak banyak membantu manipulasi tanggal / waktu.

Jika Anda mencari cara cepat dan kotor untuk merepresentasikan waktu dalam teks, objek Javascript Date memiliki prototipe "toString" yang akan mengembalikan Waktu Tanggal yang diformat ISO.

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

Lebih dari itu, Anda mungkin ingin menyesuaikan pemformatan Anda. Objek Date memiliki kemampuan untuk mengeluarkan detail yang relevan sehingga Anda dapat membangun representasi string Anda sendiri.

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

Namun, karena Anda telah meminta solusi jQuery - kemungkinan Anda bekerja dengan browser yang lebih lama. Jika Anda ingin melakukan hal-hal yang lebih spesifik - terutama menafsirkan string ke objek Date (berguna untuk respons API), Anda mungkin ingin melihat Moment.js.

http://momentjs.com/

Ini akan memastikan kompatibilitas lintas browser dan memiliki pemformatan yang lebih baik tanpa harus menyatukan banyak string untuk bersama-sama! Sebagai contoh:

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

Saya menggunakan momen untuk semua kebutuhan manipulasi / tampilan waktu saya (baik sisi klien, dan node.js jika Anda menggunakannya), jika Anda hanya memerlukan format sederhana jawaban di atas akan dilakukan, jika Anda mencari sesuatu yang sedikit lebih kompleks, saat adalah cara untuk pergi IMO.

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

Anda dapat memperoleh informasi lebih lanjut dari tautan di bawah ini

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

Hussain Patel
sumber
1

Mencoba

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

guest271314
sumber
1

Menggunakan fungsi Tanggal asli JavaScript, Anda bisa mendapatkan jam , menit , dan detik seperti yang Anda inginkan. Jika Anda ingin memformat tanggal dan waktu dengan cara tertentu, Anda mungkin ingin menerapkan metode memperpanjang prototipe Tanggal JavaScript.

Ini adalah salah satu yang sudah diterapkan: https://github.com/jacwright/date.format

Ruwanka Madhushan
sumber
0

Untuk waktu lokal dalam ISO8601untuk SQL TIMESTAMPAnda dapat mencoba:

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
sumber
0

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

Thendral R
sumber
Tambahkan penjelasan yang relevan dengan jawaban Anda
Anantha Raju C
0

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

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

Anda dapat menggunakan Date () di JS.

Suman Kumar
sumber
0

Pengikut

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

berfungsi untuk memaksa tanggal saat ini ke a <input type="datetime-local">

Louis
sumber