Trong khi viết một ứng dụng web, việc lưu trữ (phía máy chủ) tất cả các thời gian trong DB là dấu thời gian UTC.
Tôi đã rất ngạc nhiên khi tôi nhận thấy rằng bạn thực sự không thể làm gì nhiều về mặt thao túng múi giờ trong JavaScript.
Tôi mở rộng đối tượng Date một chút. Liệu chức năng này có ý nghĩa? Về cơ bản, mỗi khi tôi gửi bất cứ thứ gì đến máy chủ, nó sẽ là dấu thời gian được định dạng với chức năng này ...
Bạn có thể thấy bất kỳ vấn đề lớn ở đây? Hoặc có thể là một giải pháp từ một góc độ khác nhau?
Date.prototype.getUTCTime = function(){
return new Date(
this.getUTCFullYear(),
this.getUTCMonth(),
this.getUTCDate(),
this.getUTCHours(),
this.getUTCMinutes(),
this.getUTCSeconds()
).getTime();
}
Nó chỉ có vẻ hơi phức tạp với tôi. Và tôi cũng không chắc về hiệu suất.
new Date().toString()
sẽ hiển thị cho bạn biểu diễn múi giờ hiện tại, new Date().toUTCString()
sẽ hiển thị cho bạn đại diện thời gian UTC, nhưng luônnew Date().getTime()
là UTC , vì đó là thời gian Unix được định nghĩa là: "Thời gian Unix (còn được gọi là thời gian POSIX hoặc thời gian kỷ nguyên) là một hệ thống để mô tả nội dung trong thời gian, được định nghĩa là số giây đã trôi qua kể từ 00:00:00 Giờ quốc tế phối hợp (UTC), Thứ Năm, ngày 1 tháng 1 năm 1970, không tính giây nhuận. "