2010-06-10 52 views
5

Tôi có đối tượng DateTime. Tôi muốn trả về một String được định dạng như một dưới đây:Định dạng múi giờ datetime

Thu, ngày 06 tháng sáu 2010 16:00:00 0200

Đây là mã của tôi cho đến nay:

DateTime.Now.ToString("ddd, dd MMMM yyyy HH:mm:ss zzz"); 

Kết quả:

Thu, 10 Juni 2010 18:33:14 +02: 00

Có cách tích hợp để có được sự khác biệt múi giờ được định dạng không:? (Nếu không có cách thủ công: Không biết nếu có bất kỳ biến chứng nào, nếu tôi làm như vậy)

+0

Câu hỏi hay (+1). Những gì tôi muốn biết quá. Tôi cần phải biết múi giờ ngày nào đang ở. Chúng ta có một hệ thống trong Java có nhiều fudges ngày trong nó - nhưng tôi luôn hy vọng một cái gì đó sẽ được xây dựng vào khung .net để làm điều này. – Andez

Trả lời

1

dường như (Tôi đã tìm kiếm), không có cách nào khác ngoài thao tác chuỗi kết quả. Nếu bạn sử dụng zz bạn chỉ nhận được "+02" tuy nhiên ... sau đó bạn có thể nối thêm 00, thay vì "tìm kiếm" (regex hoặc bất kỳ) cho lần cuối cùng: và loại bỏ nó. DateTimeFormatInfo cho phép biết dấu phân tách cho h: m: s, d/m/y, nhưng không phải múi giờ; hơn nữa nếu DateTimeFormatInfo.TimeSeparator ảnh hưởng đến múi giờ quá (là h: m), bạn không thể tìm kiếm: snce nó không thể hoạt động trên tất cả các ngôn ngữ, bạn nên tìm kiếm DateTimeFormatInfo.TimeSeparator thay thế; hoặc zz và nối thêm 00 vào cuối ... Bây giờ, tất cả là về ý tưởng của tôi để giúp bạn.

+0

có thể là (http://www.worldtimezone.com/wtz014.php) ... nhưng zz chỉ trả về +04. Nó phụ thuộc vào mức độ quan trọng là giữ lại múi giờ chính xác chính xác. Nếu cần thời gian chính xác chính xác, dải:, nếu không thì có thể xảy ra lỗi trong khoảng +/- 30 phút – ShinTakezou

3

Lưu ý bạn có thể sử dụng "o" để có ngày giờ đầy đủ với múi giờ. Nó có thể hữu ích cho các công cụ đăng nhập.

DateTime.Now.ToString("o") => 2012-08-17T17:31:19.7538909+08:00 
Các vấn đề liên quan