Các chuỗi múi giờ như America/New_York
tham chiếu đến các mục nhập trong cái gọi là cơ sở dữ liệu zoneinfo. Đọc này. https://www.iana.org/time-zones Hiện tại, nó được duy trì bởi Cơ quan số được gán cho Internet. Nó thay đổi rất nhiều, bởi vì người bảo trì của nó tranh giành để theo kịp với những thay đổi về quy tắc tiết kiệm ánh sáng ban ngày và các công cụ thời gian chính trị khác.
Trên hệ thống giống UNIX, các mục nhập được lưu trữ trong hệ thống phân cấp thư mục hệ thống tệp chứ không phải bởi một số mã.
Bạn hỏi:
Tôi lưu trữ toàn bộ America/Los_Angeles
chuỗi
Yes.
có loại ID số nguyên nào không?
Không, không nếu bạn muốn ứng dụng và cơ sở dữ liệu của bạn được chứng minh trong tương lai. Có một time_zone_id trong một phần của MySQL chứa dữ liệu zoneinfo, nhưng không ai thực hiện bất kỳ lời hứa nào về việc giữ cho những con số đó không thay đổi.
Chuỗi dài nhất trong cơ sở dữ liệu hiện tại (2015g) là "America/Argentina/ComodRivadavia". Dài 32 ký tự. Nó có thể có ý nghĩa để sử dụng VARCHAR(64)
để lưu trữ thông tin này, do đó bạn không bao giờ chạy ra ngoài.
Nhân tiện, WordPress cung cấp cho người dùng danh sách chọn (danh sách thả xuống) các tên múi giờ sẵn có và lưu trữ lựa chọn của người dùng dưới dạng văn bản.
http://www.iana.org/time-zones
Nguồn
2015-11-01 18:09:21
Vui lòng mô tả "cột mới trong bảng để giữ múi giờ" mà bạn tham chiếu. – user1032531
nếu bạn cần biết chính xác múi giờ trước khi cơ sở dữ liệu của bạn chuyển đổi datetime của bạn, bạn cần giữ nó, bởi vì tự động hóa cơ sở dữ liệu chuyển đổi datetime của bạn trong múi giờ máy chủ và lưu trữ nó. – Laurentiu
Tôi có nghĩa là tôi nên sử dụng 'VARCHAR (32)' để lưu trữ nó? Điều đó có đủ lớn cho tất cả các múi giờ không? Ngoài ra, xác nhận rằng không có một số ID nguyên cho múi giờ. – user1032531