Rất đơn giản bằng cách sử dụng định dạng chuỗi
trên .ToSTring("") :
nếu bạn sử dụng "hh" - >> Giờ, sử dụng đồng hồ 12 giờ từ 01 đến 12.
nếu bạn sử dụng "HH" - >> Giờ, sử dụng đồng hồ 24 giờ từ 00 đến 23.
nếu bạn thêm "tt" - >> Trình chỉ định Am / Pm.
ví dụ chuyển đổi từ 23:12 sang 11:12 Pm:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("hh:mm tt"); // this show 11:12 Pm
var res2 = d.ToString("HH:mm"); // this show 23:12
Console.WriteLine(res);
Console.WriteLine(res2);
Console.Read();
Đợi một chút, đó không phải là tất cả những gì bạn cần quan tâm đến thứ khác là Văn hóa hệ thống bởi vì cùng một mã được thực thi trên các cửa sổ với các ngôn ngữ khác, đặc biệt là langage văn hóa khác nhau sẽ tạo ra kết quả khác nhau với cùng một mã
Ví dụ về các cửa sổ được đặt thành văn hóa langage Ả Rập sẽ hiển thị như sau:
// 23:12
م có nghĩa là buổi tối (leter đầu tiên của مساء).
trong một nền văn hóa hệ thống khác phụ thuộc vào những gì được đặt trên cửa sổ tùy chọn khu vực và ngôn ngữ, nó sẽ hiển thị // 23:12 du.
bạn có thể thay đổi giữa các định dạng khác nhau trên bảng điều khiển windows theo khu vực và ngôn ngữ của windows -> định dạng hiện tại (combobox) và thay đổi ... áp dụng nó để xây dựng lại (thực thi) ứng dụng của bạn và xem những gì tôi đang nói.
vậy tôi có thể ép ai hiển thị từ Am và Pm trong tiếng Anh nếu văn hóa của hệ thống hiện tại không được đặt thành tiếng Anh?
dễ dàng chỉ bằng cách thêm hai dòng: ->
bước đầu tiên thêm using System.Globalization;
vào đầu mã của bạn
và sửa đổi mã trước đó để được như thế này:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("HH:mm tt", CultureInfo.InvariantCulture); // this show 11:12 Pm
InvariantCARM => sử dụng Định dạng tiếng Anh mặc định.
một câu hỏi khác tôi muốn có chiều để bằng tiếng Ả Rập hoặc ngôn ngữ cụ thể, ngay cả khi tôi sử dụng các cửa sổ được đặt thành định dạng khu vực tiếng Anh (hoặc ngôn ngữ khác)?
Soution cho tiếng Ả Rập Exemple:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("HH:mm tt", CultureInfo.CreateSpecificCulture("ar-AE"));
cái này sẽ hiển thị // 23:12 م
sự kiện nếu hệ thống của tôi được đặt ở định dạng tiếng Anh. bạn có thể thay đổi "ar-AE" nếu bạn muốn định dạng ngôn ngữ khác. có một danh sách của mỗi ngôn ngữ và định dạng của nó.
mẫu mực:
ar ar-SA Arabic
ar-BH ar-BH Arabic (Bahrain)
ar-DZ ar-DZ Arabic (Algeria)
ar-EG ar-EG Arabic (Egypt)
big list...
làm cho tôi biết nếu bạn có một câu hỏi khác.
DateTime
hơn thế này. Xem msdn.microsoft.com/en-us/l Library / 8kb3ddd4.aspx