我有DateTimes列表,我想以显示小时分钟秒的某种格式获取DateTime。例如我2015年12月22日下午4:32来自en-US文化,如果我使用bg-BG然后返回16:3222Декември(平均12月)2015.那么回归4:3222Декември2015。
这是我的简单代码。
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);
}
我真正的问题是我使用bg-BG格式的日期时间很少,someTime
中的日期时间以en-US格式返回。当DateTime
是21:22:30时,someTime
会告诉我9:22:30。我想成为21:22:30。我提出了tt
,因为如果en-US
中有文化,我的申请可能会在美国使用。
任何知道如何正确返回当前文化的DateTime的人。
答案 0 :(得分:2)
好吧,如果你说你想要12小时格式,你就明白了。请尝试HH
而不是hh
(请参阅msdn)。
或ToLongTimeString()
。还有一些long
和short
版本的time
和`date,至少。
BTW,DateTime.Now.ToLongDateString()
给了我Freitag, 5. Februar 2016
,而无需明确指定文化。
答案 1 :(得分:0)
如果您想以24小时格式获取时间字符串,则应使用时间格式&#34; HH:mm:ss&#34;在ToString函数中。 您可以在此处阅读有关日期和时间格式的更多信息 https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx