2012-09-13 40 views
5

Tôi đang cố gắng điền một biểu đồ bằng thư viện highstocks. Tôi cho thời gian epoch làm đầu vào cho trục x. Tôi có thể tạo ra đồ thị thành công nhưng vấn đề là thời gian epoch được chuyển đổi bởi highstock là không phù hợp với múi giờ của tôi. Ví dụThời gian cao điểm thời gian epoch không khớp với múi giờ

thời gian kỷ nguyên đầu vào của tôi là: 1347497100000

kết quả hiện tại sau khi chuyển đổi là: Thu, ngày 13 tháng 9 2012 00:45:00 GMT

Kết quả mong đợi là: Wed 12 tháng 9 năm 2012 17:45: 00 GMT-0700

Khớp sai múi giờ này là giá trị sai đang được hiển thị ngay bây giờ.

tôi đã cố gắng thiết lập thuộc tính này cũng có, nhưng không có may mắn:

global: { 
    useUTC: false 
}, 

Tôi đang ở múi giờ Thái Bình Dương. Khi tôi cố gắng thực hiện:

console.log(new Date) 

từ cùng một tập lệnh, nó trả về thời gian trong thời gian thái bình dương.

Bạn có thể vui lòng tư vấn cách khắc phục sự không khớp của múi giờ này không?

+0

c một bạn làm một jsFiddle? –

+0

Đây là liên kết jsfidle: http://jsfiddle.net/SLB4P/1/ – Raghuveer

Trả lời

9

Nó có thể là một ý tưởng tốt để đọc các tài liệu tham khảo global.useUTC api lựa chọn một lần nữa

toàn cầu mà không áp dụng cho mỗi biểu đồ. Các tùy chọn này, như các tùy chọn lang, phải được đặt bằng phương pháp Highcharts.setOptions .

Highcharts.setOptions({ 
    global: { 
     useUTC: false 
    } 
}); 

Điều đó có nghĩa là tài sản toàn cầu là không thực sự áp dụng đối với bất kỳ biểu đồ nói riêng và Highcharts một cách mù quáng sẽ bỏ qua các tùy chọn ngay cả khi bạn cài đặt nó trong một bảng xếp hạng cá nhân như

var chart=new Highcharts.StockChart({ 
{ 
    ... 
    global: { 
     useUTC: false 
    } 
    ... 
}); 

Trong ngắn đặt tùy chọn toàn cục một cách rõ ràng bằng cách sử dụng phương thức Highcharts.setOptions trước khi bạn tạo bất kỳ đối tượng biểu đồ nào
Local/Client Time Zone | Highchart & Highstock @ jsFiddle

+1

Cảm ơn bạn đã trả lời! Điều này làm việc. Cảm kích điều đó. – Raghuveer

+0

Ah, Toàn cầu so vớiTùy chọn biểu đồ địa phương. Bất ngờ. Chân thành cảm ơn. Điều này cũng có thể có lợi trong việc triển khai sắp tới. +1. –

0

Sự cố chuyển đổi là sự xuất hiện cực kỳ phổ biến bất cứ khi nào xử lý ngày và giờ.

This link here shows the solution, to multiply by 1000, to get correct version.

Hy vọng điều đó sẽ hữu ích.

+1

Cảm ơn bạn đã trả lời nhưng sự cố của tôi không phải về giây và mili giây, việc chọn múi giờ sai. Để xác minh giá trị epoch của tôi, tôi đã thử trực tuyến với 2 trình biến đổi epoch khác nhau và tôi nhận được 2 giá trị khác. Một cho múi giờ GMT và các múi giờ khác cho múi giờ Thái Bình Dương. Tôi cần cho múi giờ Thái Bình Dương nhưng tôi nhận được múi giờ gmt khi vẽ đồ thị với highcharts/highstocks. Tôi cũng đã thử nhân giá trị của tôi với 1000 nhưng chuyển đổi cho tôi một năm 6240. Bất kỳ lời khuyên nào? đây là liên kết jsfidle cũng: http://jsfiddle.net/SLB4P/1/ – Raghuveer

+0

Làm rõ tuyệt vời. Vâng. Nhìn kìa. Ah, tôi hiểu rồi. +1. Tất cả là tốt nhất. –

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