2012-07-19 27 views
5

Tôi cố gắng để hiểu điều gì đó về getTime(), Vấn đề của tôi là, tôi đang thiết lập một ngày mới với phép nói: 23,07,2012. Khi tôi đang sử dụng getTime() trên đó tôi sẽ nhận được mili giây Kể từ 01,01,1970. Khi tôi chia giá trị tôi nhận được từ getTime() với (1000 * 60 * 60 * 24) tôi nên lấy số ngày đã qua kể từ 01,01,1970 cho đến khi 05,07,2012 nhưng bằng cách nào đó tôi nhận được một số với một điểm thập phân (15.543,875) tôi không hiểu tại sao, tôi có nghĩa là kể từ 01,01,197023,07,2012 tôi sẽ nhận được một số nguyên (rằng những gì tôi nghĩ), tôi cũng biết Tôi thực sự sai, nếu ai đó có thể vui lòng giúp tôi hiểu tại sao dấu thập phân ở kết quả.Javascript, getTime()

Trả lời

4

Nếu bạn đang thiết lập một ngày như new Date(2012, 06, 23) Nó sẽ được đặt theo múi giờ của khách hàng, trong đó .getTime()UTC. Bạn muốn Date.UTC:

Date.UTC(2012,6,23)/(1000*60*60*24) 
//15544 For any computer 

new Date(2012, 06, 23)/(1000*60*60*24) 
//15543.875 For my computer, I am coincidentally in the same timezone as Israel. This result will depend on what timezone the client is. 
+0

cảm ơn bạn esailija bạn có thể xin vui lòng tải lên một mã số cho thấy resoult của múi giờ của tôi và chia múi giờ UTC với (1000 * 60 * 60 * 24) becouse liên kết không hoạt động và tôi không thể viết mã xuống của nó không làm việc mabye tôi didnt có bạn ngay vì vậy nếu bạn có thể xin vui lòng tải lên cảm ơn bạn. –

+0

@uBlankText tất cả mã bạn cần là trong câu trả lời của tôi. Chỉ cho tôi mã không hoạt động của bạn ở đây: http://jsfiddle.net/ – Esailija

+0

Cảm ơn bạn tôi sẽ xem xét. –

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