2010-06-29 30 views
8

Định dạng biểu diễn chuỗi quốc tế là (YYYY-MM-DD HH: MM: SS ± HHMM).Bạn định dạng DateTime theo định dạng quốc tế như thế nào?

ví dụ: 2010-06-10 21:21:10 -0400

về cơ bản vấn đề tôi đang gặp phải là tìm ra cách để có được sự khác biệt từ GMT.

DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123); 
String.Format("{0:yyyy-MM-dd HH:mm:ss ????}", dt); 

Trả lời

13
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss zzz"); 

chí đầu ra:

2010-06-29 08:25:16 -07:00 
+0

hoàn hảo. cảm ơn. Tôi có thể loại bỏ: khá dễ dàng. – Aaron

+0

@Aaron: Định dạng '± HH: mm', bao gồm một': ', là hợp lệ trong ISO8601. – LukeH

+0

nó là hợp pháp nhưng không phải là định dạng mục tiêu-c sử dụng. – Aaron

0

Tôi nghĩ rằng điều đó được hiển thị theo giờ. Rằng -4 là sự khác biệt từ GMT.

Ồ tôi hiểu rồi, xin lỗi đã hiểu nhầm câu hỏi.

1

Tôi sẽ đi với ISO format.

Và W3C cũng có ghi chú về chủ đề: Date and Time Formats.

Đây là các tiêu chuẩn quốc tế.

+0

có lẽ sẽ tốt hơn nhưng tôi đang cố chuyển ngày qua lại từ mục tiêu-c. – Aaron

0

Bạn định dạng DateTime theo định dạng quốc tế như thế nào?

Bạn có thể sử dụng custom format specifier (không có định dạng chuẩn cho định dạng ngày/giờ chuẩn ISO).

vấn đề tôi đang gặp phải là tìm ra cách để có được sự khác biệt từ GMT.

Phân tích bằng cách sử dụng một trong các phương pháp tĩnh của DateTimeOffset và sau đó kiểm tra thuộc tính Offset. Hoặc nếu bạn có ý nghĩa, làm thế nào để bao gồm các bù đắp trong chuỗi: sử dụng DateTimeOffset với múi giờ chính xác và một specifier định dạng tùy chỉnh.

0

chuỗi isoFormat = inputDateTime.Format ("s");

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