Cách lấy thời gian hiện tại với jQuery


129

Thời gian sau trả về thời gian tính bằng micrô giây, ví dụ 4565212462.

alert( $.now() );

Làm cách nào để chuyển đổi nó thành định dạng thời gian có thể đọc được của con người, chẳng hạn như (giờ: phút: giây) ?


1
Bạn không cần jQuery $.now()vì JavaScript có triển khai riêng: stackoverflow.com/questions/20456712/ Kẻ
Josh Crozier

Sửa chữa: (1) Điều này đã được thay thế bằng Date.now () và (2) Thời gian trả về là tính bằng mili giây, không phải micro giây.
den 232

Câu trả lời:


304

Bạn có thể thử như thế này:

new Date($.now());

Cũng sử dụng Javascript, bạn có thể làm như thế này:

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


7
Xin lưu ý rằng .getHours () trả về số giờ trong múi giờ của máy cục bộ. Nếu người dùng có trình duyệt của họ ở múi giờ khác ngoài bạn, họ sẽ nhận được kết quả khác từ getHours. Điều này cũng đúng với phương thức .toString (). Kiểm soát múi giờ trong javascript rất khó (bạn phải tính toán bù giữa múi giờ của bạn và múi giờ mong muốn và sửa đổi ngày cho phù hợp). Vì vậy, như đã đề cập trong một câu trả lời khác, sử dụng khoảnh khắc này có vẻ là một ý tưởng hay. Khoảnh khắc
Chris

1
Bạn cũng nên xem xét bao gồm padStart cho mỗi get: dt.getMinutes (). ToString.padStart (2, '0') Điều này sẽ đảm bảo rằng các số vẫn dài 2 chữ số với số 0 được đệm và nó tuân theo chức năng javascript được đề xuất - rất đẹp bằng chứng trong tương lai: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/
Số không âm

2
@NegativeZero Một đề xuất thực sự hữu ích (nếu không cần thiết). Thật không may, nó không hoạt động với tôi trên Firefox (Tôi đã không thử nghiệm trên các trình duyệt khác). Tuy nhiên, viết lại dưới dạng Chuỗi (dt.getMinutes ()). PadStart (2, '0') hoạt động với tôi.
bánh quy

54

Bạn cần tìm nạp tất cả "số" theo cách thủ công

như thế này:

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

document.write(datetime);


39

Chuyển đổi một Dateđối tượng thành một chuỗi, bằng cách sử dụng một trong Date.prototypecác getters chuyển đổi , ví dụ:

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"

Hoặc, nếu bạn muốn nó tùy chỉnh hơn, hãy xem danh sách các Date.prototypephương thức getter .


25

Bạn không cần sử dụng jQuery cho việc này!

Việc triển khai JavaScript nguyên gốc làDate.now() .

Date.now()$.now()trả về cùng một giá trị:

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)

..và nếu bạn muốn thời gian được định dạng trong hh-mm-ss:

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

1
Bạn không cần cung cấp tham số cho Ngày mới () vì nó mặc định cho đến bây giờ.
Andrew Spode

1
@Spode Ah, điểm tốt. Tôi không chắc tại sao các câu trả lời khác lại sử dụng jQuery.
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() Trả về: Số

Mô tả: Trả về một số đại diện cho thời gian hiện tại.

Phương pháp này không chấp nhận bất kỳ đối số.

Các $.now()phương pháp là viết tắt của các số được trả về bởi sự biểu hiện (new Date).getTime().

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

Sử dụng Javascript đơn giản:

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

5

$ .now () của jQuery là bí danh của Date (). getTime (), một hàm Javascript nội bộ.

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

Điều này trả về số giây trôi qua kể từ năm 1970, thường được gọi là (không nhất thiết phải chính xác) là Thời gian Unix, Epoch hoặc Dấu thời gian, tùy thuộc vào các vòng tròn bạn rơi vào. Nó có thể thực sự tiện lợi để tính toán sự khác biệt giữa ngày / lần bằng cách sử dụng toán học đơn giản . Nó không có bất kỳ thông tin TimeZone nào và luôn là UTC.

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

Không cần phải sử dụng jQuery như ngoài bí danh này, nó không giúp gì được cho việc thao tác ngày / giờ.

Nếu bạn đang tìm kiếm một cách nhanh chóng và bẩn để thể hiện thời gian trong văn bản, đối tượng Ngày Javascript có nguyên mẫu "toString" sẽ trả về Ngày giờ được định dạng ISO.

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

Nhiều khả năng, bạn sẽ muốn tùy chỉnh định dạng của mình. Đối tượng Date có khả năng lấy ra các chi tiết có liên quan của bạn để bạn có thể xây dựng biểu diễn chuỗi của riêng mình.

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

Tuy nhiên, như bạn đã yêu cầu một giải pháp jQuery - có lẽ bạn đang làm việc với các trình duyệt cũ hơn. Nếu bạn muốn làm những việc cụ thể hơn - đặc biệt là diễn giải các chuỗi thành các đối tượng Date (hữu ích cho các phản hồi API), bạn có thể muốn xem xét Moment.js.

http://momentjs.com/

Điều này sẽ đảm bảo khả năng tương thích trình duyệt chéo và có nhiều định dạng được cải thiện mà không cần phải nối nhiều chuỗi với nhau! Ví dụ:

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

4

Tôi sử dụng thời điểm cho tất cả các nhu cầu thao tác / hiển thị thời gian của mình (cả phía máy khách và node.js nếu bạn sử dụng nó), nếu bạn chỉ cần một định dạng đơn giản, các câu trả lời ở trên sẽ làm, nếu bạn đang tìm kiếm thứ gì đó phức tạp hơn một chút, Khoảnh khắc là con đường để đi IMO.


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> 

bạn có thể nhận thêm thông tin từ liên kết dưới đây

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



1

Sử dụng các hàm Ngày gốc của JavaScript, bạn có thể nhận được giờ , phútgiây như bạn muốn. Nếu bạn muốn định dạng ngày và giờ theo cách cụ thể, bạn có thể muốn triển khai một phương thức mở rộng nguyên mẫu Ngày JavaScript.

Đây là một cái đã được triển khai: https://github.com/jacwright/date.format


0

Đối với giờ địa phương trong ISO8601SQL, TIMESTAMPbạn có thể thử:

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>

Bạn có thể sử dụng Date () trong JS.


0

Sau đây

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

hoạt động để buộc ngày hiện tại lên một <input type="datetime-local">

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.