Tùy chọn tốt nhất của bạn là tạo một lớp localization
sẽ trả về ngày giờ trong múi giờ ưa thích của bạn. Trong ứng dụng của bạn, bạn nên sử dụng lớp này và không DateTime.Now
khi bạn muốn hẹn hò và thời gian hiển thị:
class Localization
{
public Localization(string timeZoneId = "UTC")
{
TimeZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);
}
public virtual TimeZoneInfo TimeZone { get; set; }
public DateTime Now
{
get
{
return TimeZoneInfo.ConvertTime(DateTime.UtcNow, TimeZone)
}
}
}
Bạn có thể thực hiện trên lớp singleton nếu bạn muốn chỉ có một múi giờ tĩnh trong ứng dụng của bạn.
var locale = new Localization(); // default is UTC, provide yours.
var now = locale.Now;
Nguồn
2013-08-13 07:16:14
Hơi muộn một chút, nhưng hãy cho tôi biết câu hỏi của tôi không rõ ràng. Garath đưa ra câu trả lời hoàn hảo cho câu hỏi của tôi. – user1331032