2011-07-01 58 views

Trả lời

9

Giá trị ngày giờ xác định ngày và giờ cụ thể, nó bao gồm thuộc tính Kind cung cấp thông tin giới hạn về múi giờ mà ngày và thời gian đó thuộc về.

Cấu trúc DateTimeOffset đại diện cho giá trị ngày và thời gian, cùng với giá trị bù trừ cho biết giá trị đó khác với UTC bao nhiêu. Do đó, giá trị luôn luôn xác định rõ ràng một điểm duy nhất trong thời gian.

DateTimeOffset nên được coi là ngày và thời gian mặc định để phát triển ứng dụng vì việc sử dụng các giá trị DateTimeOffset phổ biến hơn nhiều so với giá trị DateTime.

Xem thêm thông tin, mã ví dụ tại địa chỉ: http://msdn.microsoft.com/en-us/library/bb384267.aspx

+1

http://msdn.microsoft.com/en-us/library/system.datetime .kind.aspx –

2

Có một vài điểm ở đây:

thông tin DateTime nên được lưu trữ ở định dạng UTC trong cơ sở dữ liệu của bạn:

http://www.4guysfromrolla.com/articles/081507-1.aspx

Khi bạn sử dụng thông tin DateTime trong Ứng dụng web của mình, bạn sẽ cần chuyển đổi nó thành LocalTime:

DateTime.UtcNow.ToLocalTime(); 

sẽ chuyển đổi thành giờ địa phương từ góc nhìn của Máy chủ web.

Nếu bạn có một WebServer tại một địa điểm, phục vụ khách hàng ở nhiều quốc gia, sau đó bạn sẽ cần phải thực hiện thao tác này trong javascript trên Client bản thân:

myUTCDate.toLocaleTimeString(); 

http://www.java2s.com/Code/JavaScript/Date-Time/ConvertDatetoLocaleString.htm

3

DateTimeOffset đại diện cho datetime dưới dạng giờ UTC.

Vì vậy

DateTimeOffset dtoNow = DateTimeOffset.Now; 

là giống như

DateTimeOffset dtoUTCNow = DateTimeOffset.UTCNow; 

Đây dtoNow sẽ bằng dtoUTCNow mặc dù ai bị khởi tạo DateTimeOffset.Now và người kia được khởi tạo để DateTimeOffset.UTCNow;

Vì vậy, DatetimeOffset rất tốt để lưu trữ sự khác biệt hoặc Offset w.r.t UTC.

Để biết thêm chi tiết, tham khảo MSDN.

Các vấn đề liên quan