2011-09-09 31 views

Trả lời

107

Bạn nên thanh toán Date object.

Cụ thể, bạn có thể xem phương thức getHours() cho đối tượng Ngày.

getHours() trả về thời gian từ 0 - 23, vì vậy hãy đảm bảo xử lý thời gian từ 0 đến 23. Tôi nghĩ rằng 0-23 là một chút trực quan hơn kể từ khi thời gian quân sự chạy từ 0-23, nhưng nó thuộc vào bạn.

Với ý nghĩ đó, mã sẽ là một cái gì đó dọc theo dòng:

var date = new Date(); 
var current_hour = date.getHours(); 
+2

gì về làm tròn? – TIMEX

+0

Nếu bạn muốn làm tròn số phút (như trong 1:45 -> 2:00), bạn có thể sử dụng phương thức getMinutes() cho đối tượng Date. – jtsao22

117

Chức năng này sẽ đưa bạn trở ngày và thời gian theo định dạng sau: YYYY:MM:DD:HH:MM:SS. Nó cũng hoạt động trong Node.js.

function getDateTime() { 

    var date = new Date(); 

    var hour = date.getHours(); 
    hour = (hour < 10 ? "0" : "") + hour; 

    var min = date.getMinutes(); 
    min = (min < 10 ? "0" : "") + min; 

    var sec = date.getSeconds(); 
    sec = (sec < 10 ? "0" : "") + sec; 

    var year = date.getFullYear(); 

    var month = date.getMonth() + 1; 
    month = (month < 10 ? "0" : "") + month; 

    var day = date.getDate(); 
    day = (day < 10 ? "0" : "") + day; 

    return year + ":" + month + ":" + day + ":" + hour + ":" + min + ":" + sec; 

} 
+0

Aww. '(new Date()). toJSON(). slice (0, 19) .replace (/ [- T]/g, ':')' – user3125367

+0

@ user3125367 Đẹp nhất! Nếu tính linh hoạt là cần thiết trong định dạng ngày tháng, tôi có thể làm việc tốt hơn. :-) –

11

Cả hai câu trả lời trước chắc chắn là giải pháp tốt. Nếu bạn tuân theo một thư viện, tôi thích moment.js - nó không chỉ là việc nhận/định dạng ngày tháng.

8

Khám phá thư viện moment.js. Nó hoạt động với các trình duyệt cũng như với Node.JS. Cho phép bạn viết

moment().hour(); 

hoặc

moment().hours(); 

mà không viết trước của bất kỳ chức năng.

0

Để bắt đầu nút trong múi giờ PST, hãy sử dụng lệnh sau trong ubuntu.

TZ=\"/usr/share/zoneinfo/GMT+0\" && export TZ && npm start & 

Sau đó, bạn có thể tham khảo Date Library để nhận các chức năng ngày và giờ tùy chỉnh trong nút.

Để sử dụng phía máy khách, hãy tham khảo this link, tải xuống index.js và assertHelper.js và bao gồm trong HTML của bạn.

<script src="assertHelper.js"></script> 
<script type="text/javascript" src="index.js"></script> 
$(document).ready(function() { 
    DateLibrary.getDayOfWeek(new Date("2015-06-15"),{operationType:"Day_of_Week"}); // Output : Monday 
} 

Bạn có thể sử dụng các chức năng khác nhau như được đưa ra trong ví dụ để có được ngày tùy chỉnh.

Nếu ngày đầu tiên của tuần là chủ nhật, ngày nào sẽ là ngày 15 tháng sáu năm 2015.

DateLibrary.getDayOfWeek(new Date("2015-06-15"), 
    {operationType:"Day_Number_of_Week", 
     startDayOfWeek:"Sunday"}) // Output : 1 

Nếu ngày đầu tiên của tuần là Thứ ba, những gì tuần số trong năm sẽ theo trong Tháng Sáu 15, 2015 là một trong những ngày tháng.

DateLibrary.getWeekNumber(new Date("2015-06-15"), 
    {operationType:"Week_of_Year", 
     startDayOfWeek:"Tuesday"}) // Output : 24 

Tham khảo các chức năng khác để đáp ứng các yêu cầu ngày tùy chỉnh của bạn.

1

Có phương pháp viết và làm cùng chức năng dễ dàng hơn.

var date = new Date(); 
var hours = date.getHours(); 

Thật dễ dàng để sử dụng:

var hours = (new Date()).getHours();

+3

Điều này có vẻ như là một cải tiến rất nhỏ mà cản trở khả năng đọc. –

Các vấn đề liên quan