Tôi trả về một danh sách các ngày UTC/lần từ một dịch vụ Net, định dạng giống như vậy:moment.js, múi giờ và tiết kiệm ánh sáng ban ngày
"2013-07-09 19:48:07 +00:00".
Trên client, tôi chuyển đổi mỗi một trong các giá trị chuỗi thành một thời điểm dựa trên UTC tương ứng, như vậy
var fooUtc = new moment.utc(serverDateTimeString)
Trên trang, có một danh sách các vùng thời gian mà người dùng có thể thay đổi. Đây là những ràng buộc với một bộ sưu tập của các đối tượng múi giờ như sau:
{
id: "Central Standard Time",
label: "(UTC-06:00) Central Time (US & Canada)",
observesDaylightSavings: true,
baseUtcOffset: {
asHours: -6,
asMinutes: -360,
asText: "-06:00"
}
sau đó tôi hiển thị mỗi khoảnh khắc trôi qua trong múi giờ chọn bù đắp, như vậy:
fooUtc.local().zone(selectedTimeZone.baseUtcOffset.asMinutes).format()
Tuy nhiên, kết quả không tính đến tiết kiệm ánh sáng ban ngày, vì dữ liệu múi giờ đến từ .Net không phân biệt giữa chênh lệch giữa dst và non dst.
Có cách nào để thực hiện công việc này với moment.js hoặc bit thời gian-múi giờ mới không? Tôi nghĩ rằng nó có thể có thể nếu tôi có thể ánh xạ tên bù UTC tiêu chuẩn (ví dụ: "Giờ chuẩn trung tâm") thành mã định danh DB của một múi giờ nhất định (ví dụ: "America/Chicago"), nhưng nếu có cách dễ dàng hơn, vui lòng cho tôi biết.
tôi đã kết thúc việc tạo ra một tập tin ánh xạ dựa trên [bài này] [1] [1]: http://stackoverflow.com/questions/8372537/converting-olson-tzid-to- windows-time-zone –