我有DateTimes的列表,我想以某種格式獲取DateTime以顯示小時分鐘秒。例如,我有2015年12月22日4:32 PM來自en-US的文化,如果我使用bg-BG,那麼返回16:32 22Декември(即平均12月)2015.好的是返回2015年12月4日32:12。如何返回DateTime而不更改格式
這是我的簡單代碼。
List<DateTime> xAxises = SetListOfDateTimes();
var culture = Thread.CurrentThread.CurrentCulture;
for (int i = 1; i <= xAxises.Count; i++)
{
string someTime = xAxises.ElementAt(i - 1).ToString("hh:mm:ss tt", Thread.CurrentThread.CurrentCulture = culture);
string anotherTime = xAxises.ElementAt(i - 1).ToString("ddd, dd MMMM hh:mm:ss tt", Thread.CurrentThread.CurrentCulture = culture);
string thirdTime = xAxises.ElementAt(i - 1).ToString("dd MMMM yyyy", Thread.CurrentThread.CurrentCulture = culture);
string fourthTime = xAxises.ElementAt(i - 1).ToString("MMMM yyyy", Thread.CurrentThread.CurrentCulture = culture);
}
我真的問題是,我有幾個DateTime是否與BG-BG格式和someTime
是返回的en-US格式。當DateTime
是21:22:30 someTime
告訴我9:22:30。我想成爲21:22:30。因爲如果是en-US
的文化所以能把我的申請用在美國的話,所以把tt
。
任何人都知道如何正確返回當前文化的DateTime。
您能更好地解釋您所看到的內容嗎?文化只有在你調用'.ToString(...)'時纔會發揮作用,DateTime本身並沒有文化本身。你看過[NodaTime](http://nodatime.org/)嗎? –
這個問題沒有多大意義。日期時間值*沒有任何格式或文化*。它們是二進制值,而不是字符串。另一方面合成或解析**所使用的文化是當前的文化。請發佈代碼,顯示您嘗試過的內容,您的期望以及獲得的內容。你發佈的內容基本上與*不相同*不傳遞任何文化 –
順便說一句,沒有文化默認使用24小時。我懷疑這個問題不是關於文化,而是自定義格式 –