2013-01-31 45 views
6

Từ hiểu biết của tôi, Arshaw FullCalendar hiển thị các sự kiện theo múi giờ của hệ điều hành máy tính cục bộ. Tôi cho rằng điều này được thực hiện bởi đối tượng javascript Date(), cũng dựa trên hệ điều hành của máy tính cục bộ. Tôi có một ứng dụng có lịch nhóm và múi giờ nhóm, tôi muốn có khả năng ép mọi Lịch Arshaw cục bộ hiển thị theo múi giờ của nhóm đó, bất kể múi giờ của máy tính là gì. Làm thế nào để bạn làm điều này?Thay đổi múi giờ trong Arshaw FullCalendar

Lưu ý: Tôi đã xem xét kỹ tài liệu một cách kỹ lưỡng và không tìm thấy tùy chọn nào như vậy. Tôi hy vọng rằng javascript có một cái gì đó tương đương với php date_default_timezone_set(), mà dường như với tôi cách này có thể được giải quyết.

* Sửa 2013/01/31 12:23 CST: Tôi gửi tất cả mọi thứ vào lịch như timestamps unix, vì vậy tôi giả định các tùy chọn ignoreTimezone sẽ không áp dụng ở đây, như mô tả trong này đề stackoverflow: jQuery FullCalendar timezone synchronization

+0

bạn đã đặt câu hỏi chưa? –

+0

Tôi có cùng một vấn đề, nhưng thiết lập múi giờ một mình có thể không làm các trick, vì có nhiều giai đoạn tiết kiệm ánh sáng ban ngày (ví dụ: Mex có ngày khác nhau) ... vì vậy, bất cứ ai có một giải pháp thanh lịch để buộc khách hàng sử dụng một thời gian nhất định, bất kể thời gian địa phương trong hệ thống của khách hàng (mà cũng có thể sai) ??? – MaxD

+1

http://stackoverflow.com/questions/2771609/how-to-ignore-users-time-zone-and-force-date-use-specific-time-zone – Dom

Trả lời

5

Bạn có lẽ nên thử đặt tùy chọn "ignoreTimezone" thành "false" và cung cấp cho Arshaw FullCalendar ngày trong ISO8601.

Bạn có thể tìm thêm thông tin về điều đó ở đây: http://arshaw.com/fullcalendar/docs/event_data/ignoreTimezone/

Để chuyển đổi timestamps unix để ISO8601, bạn có thể sử dụng điều này trong javascript:

var d = new Date(1360412434000).toISOString(); 

Đây là ECMAScript 5. Xem ở đây để tương thích và mã dự phòng: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toISOString

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