Zaman bölümünün meridiemini "A.M." olarak görüntülemek için DateTime.ToString() yöntemini kullanmanın bir yolu var mı? "AM" yerine? "T.t." maskesini kullanmayı denedim. ama bu sadece "A.A." çıktıDateTime.ToString(), meridiem'i "A.M." olarak görüntüler. veya "s."
cevap
Sen CultureInfo.DateTimeFormat
ait AMDesignator
ve PMDesignator
özelliklerini yeniden tanımlamak ve sonra bir biçim sağlayıcısı olarak kültür belirtebilirsiniz:
using System;
using System.Globalization;
class Program {
public static void Main() {
CultureInfo c = (CultureInfo)CultureInfo.CurrentCulture.Clone();
c.DateTimeFormat.AMDesignator = "A.M.";
c.DateTimeFormat.PMDesignator = "P.M.";
Console.WriteLine(DateTime.Now.ToString("tt",c));
}
}
Güzel genel çözüm. Bu, kendini uluslararasılaşma için daha iyi bir hale getiriyor. – ladenedge
Bunun bir tür ölü olduğunu anlıyorum, ama bu konu benim için bir gün daha düzeldi ve bu çözümü gerçekten çok beğendim. Kısa bir soruyla karşılaştım, eğer mevcut kültürün AM ve PM işaretleyicilerini değiştirdiysem (bir kopyasını oluşturmanın ve kopyayı kullanmanın aksine), sunucum yeniden başlatılıncaya ya da yalnızca Mevcut istek – Kyle
@Kyle, Şu anda test edemiyorum ama klonlamadan şu anki kültürün özelliklerini değiştiremeyeceğinizi düşünüyorum ... bunu bir deneyin ve bana bildirin :) –
Kullanım "t.\\M"
:
DateTime time = DateTime.Now;
string s = time.ToString("yyyy.MM.dd hh:mm:ss t.\\M.");
Console.WriteLine(s);
Çıktı:
2010.02.02 09:26:14 A.M.
Açıklama: t
AM/PM designator (yerelleştirilmiş designator DateTimeFormatInfo.AMDesignator
ve DateTimeFormatInfo.PMDesignator
de alınabilir) ilk karakteri verir. \\M
, DateTime.ToString
'un DateTime.ToString
'un biçim dizesinin bir parçası olarak yorumlamadığı ve ayın sayısal değerini yazdıracağı şekilde M
'dan çıkar.
Bunu yaptığınızda, açıkça kültüre duyarsız olduğunuza dikkat edin. Örneğin, Japonya'da, AM/PM işaretçisi, birinci değil, ikinci karakterlerde farklılık gösterir.
- 1. DateTime.ToString()
- 2. s, S veya c + <cr>
- 3. 'DateTime.ToString()', 'DateTime' bir XML serileştirme olarak aynı dizge çıktı alma
- 4. Dize interpolasyon: f veya s
- 5. Görüntüler
- 6. Perl'de s/^ \ s + // ve s/\ s + $ // arasındaki fark nedir?
- 7. Uzaktan Görüntüler Firefox veya Chrome (IE eserleri)
- 8. Makine öğrenme kütüphaneleri s + (veya R)?
- 9. Beamer: Görüntüleri adım adım görüntüler olarak gösterme
- 10. Düzenli ifade nedir \\ s *, \\ s *?
- 11. Dize içinde tam durma dizgisi "a.m." ifadesini hariç tut.
- 12. regex anlama [\ s \ S - [<>]] *
- 13. Sözde öğeler ve görüntüler
- 14. İki veya daha fazla s ifadesi döndürmek üzere küme makrosu
- 15. Hazırda bekletme v/s saklı yordam veya işlevler performans
- 16. Sprintf_s sprintf analogu nedir (newpath, "% s% s", ...)?
- 17. AdvancedDataGrid görüntüler
- 18. kaydet Görüntüler Android
- 19. Rpres HTML5 sunumu "PDF olarak kaydet" (Google Chrome) yanlış görüntüler
- 20. Hız, dinamik desatürasyon veya çift görüntüler için hangisi önerilir?
- 21. S-Plus Database'i S-Plus olmadan okuyor musunuz?
- 22. AVAssetImageGenerator, döndürülmüş görüntüler sağlar
- 23. Perl'in ucfirst() veya s /// e'nin Python eşdeğeri nedir?
- 24. C++ 17 operatörü "" s?
- 25. Görüntüler sürekli olarak aşağıdan yukarıya doğru nasıl taşınır?
- 26. Görüntüler unity eklentisi
- 27. wxHaskell'de gömülü görüntüler
- 28. Görüntüler ile UIMenuController
- 29. Bir dize bölme ancak bazı semboller ekleme (# 's ve +' s)
- 30. WPF: Yuvarlak-Köşeler Görüntüler
bu yeteneklerini maç için şartname değiştirmek için ne zaman neredeyse mükemmel bir örnek olduğunu düşünüyorum platform, platformun bir spesifikasyona uyması için uyguladığı uygulamadan ziyade. – tvanfosson