2012-03-31 16 views
5

Nếu không phải là một lỗi, làm thế nào để nói cho nút múi giờ của tôi? Nếu lỗi, báo cáo này đã được báo cáo chưa?node.js trả về thời gian GMT và không phải giờ địa phương cho "new Date()". Đó có phải là một lỗi không?

+0

Vì bạn biết múi giờ của bạn liên quan đến giờ, không thể bạn chỉ cần điều chỉnh thích hợp với bù đắp? Có vẻ như nó phù hợp với GMT để linh hoạt về các vị trí máy chủ khác nhau – TGH

Trả lời

5

Đây không phải là một lỗi, chỉ là một sự lựa chọn như thế nào Node quyết định để đại diện cho một đối tượng Date trong REPL của nó. Ngoài ra, như các nút v0.7.x, sản lượng này đã được thay đổi để hiển thị giờ địa phương, phù hợp với hành vi trình duyệt:

☮ ~ (master) ⚡ node 
> process.version 
'v0.7.7' 
> new Date 
Sat Mar 31 2012 15:12:13 GMT-0700 (PDT) 
+0

Ngày hiển thị trong bảng điều khiển chưa được chuẩn hóa trong ECMAScript. Vì vậy, điều này không quan trọng. Tín dụng cho hành vi @TooTallNate – Jaseem

+1

vẫn giống nhau trong nút 6.9.4. không nên nó trở lại dựa trên các thiết lập máy theo mặc định (như trình duyệt không)? –

7

Nếu đó là lỗi, nó không tồn tại trong phiên bản Nút của tôi. Đúng là các Node.js REPL thích công bố trong giờ trong phiên bản của tôi:

> new Date() 
Sat, 31 Mar 2012 21:51:47 GMT 

Nhưng đó là trên thực tế múi giờ nhận thức, mà chỉ là không phải những gì REPL cho thấy khi stringifying nó:

> new Date().getTimezoneOffset() 
-120 
> "" + new Date() 
'Sat Mar 31 2012 23:51:56 GMT+0200 (CEST)' 

(tôi đang chạy Node.js v0.6.1 trên Ubuntu.)

+1

Điều này trông giống như một lỗi đối với tôi. – Jaseem

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