Tôi lưu trữ tất cả các trường DateTime dưới dạng thời gian UTC. Khi người dùng yêu cầu trang web, tôi muốn sử dụng múi giờ địa phương ưa thích của mình (và không phải múi giờ địa phương của máy chủ) và tự động hiển thị tất cả các trường DateTime trong tất cả các biểu mẫu web dưới dạng ngày địa phương. Tất nhiên, tôi có thể áp dụng chuyển đổi trên mọi cuộc gọi DateTime.ToString() trong mọi hình thức hoặc thực hiện một số tiện ích trợ giúp nhưng nó là nhiệm vụ tốn thời gian và cũng có một số thành phần của bên thứ ba khó cấu hình các mẫu hiển thị DateTime tùy chỉnh.Chuyển đổi toàn cục UTC DateTimes thành Ngày giờ địa phương do người dùng chỉ định
Về cơ bản, tôi muốn làm cho lớp DateTime để hành xử như sau:
from this moment on for this web request,
whenever some code calls DateTime.ToString(), convert it to the local time
using the timezone offset given at the very beginning of the web request,
but if possible, please keep .NET core library DateTime.ToString() calls intact
(I don't want to mess up event logging timestamps etc.)
Có cách nào để làm điều đó?
BTW, tôi đang sử dụng ASP.NET MVC 4, nếu nó quan trọng.
Câu trả lời hay! Bạn nói điều này cũng có thể được thực hiện với đối tượng 'Date' được xây dựng sẵn trong JavaScript. Bạn vui lòng cập nhật câu trả lời của mình để cho biết cách thực hiện điều này? – Scott
@Scott - Đã cập nhật. Cảm ơn. –