2012-01-31 41 views
22

Sự khác biệt giữa một số DateTime và đối tượng DateTimeOffset là gì?Sự khác biệt giữa 'DateTime' và 'DateTimeOffset'

Và khi nào chúng ta nên sử dụng từng loại?

Trong ứng dụng web có thể thay đổi khu vực của máy chủ, lưu trữ ngày và giờ. Cái nào tốt hơn, hoặc có đề xuất nào khác không?

+0

@ChrisLời cảm ơn. –

+0

Xem thêm [câu trả lời này] (http://stackoverflow.com/a/14268167) –

Trả lời

19

DateTimeOffset Đại diện cho một điểm trong thời gian, thường được biểu thị dưới dạng ngày và thời gian trong ngày, so với Giờ quốc tế phối hợp (UTC), nó cung cấp mức độ nhận biết múi giờ lớn hơn cấu trúc DateTime. Xem tại đây- http://msdn.microsoft.com/en-us/library/bb546101.aspx.

+9

vì vậy cảm ơn. hữu ích: D Tôi không thể hiểu tại sao một số phiếu bầu xuống các câu hỏi đơn giản của tôi !!! Tôi mới và tôi nên học nhiều hơn và nhiều hơn nữa, và tôi cũng nên hỏi thăm dò ý kiến ​​của mình! –

+0

Mức độ duy nhất của "nhận thức múi giờ" nó có là nó lưu trữ bù đắp UTC cho một thời điểm cụ thể trong thời gian. Nó không có kiến ​​thức khác về múi giờ, bao gồm cả múi giờ mà giá trị được tạo ra, vì vậy chỉ sử dụng thực sự của nó là với dữ liệu lịch sử. Nó là khá vô ích cho bất cứ điều gì khác. – Suncat2000

7

DateTimeOffset Vượt qua nhược điểm của DateTime. Nó được biểu thị dưới dạng ngày tháng và thời gian trong ngày, liên quan đến Giờ Quốc tế Phối hợp (UTC). Ví dụ:

Cho 4/18/2013 11:00:00 SA có nghĩa là hoàn toàn không có gì nếu bạn không có điểm tham chiếu. Đó có thể là 11:00:00 AM ở bất cứ đâu trên thế giới. DateTimeOffset chứa thông tin về múi giờ bạn đang xử lý, điều này tạo nên sự khác biệt trong THẾ GIỚI!

Để biết thêm chi tiết must read once

+0

Sự khác biệt duy nhất là nó lưu trữ _only_ giá trị UTC cho một thời điểm cụ thể theo thời gian mà một DateTime đại diện. Nó _does not_ lưu trữ múi giờ thực tế, vì vậy về cơ bản tất cả những gì bạn có thể làm với nó là chuyển đổi giữa giờ địa phương tương đối và UTC của nó. Hữu ích trong một số trường hợp, nhưng thông tin khá yếu, nếu không. Thứ DateTimeOffset không phải là lớp DateTime nhận biết múi giờ. – Suncat2000

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