return DateTime如何不改变格式

How can return DateTime without change the format

我有 DateTimes 列表,我想获得具有某种格式的 DateTime 以显示时分秒。例如,我有来自 en-US 文化的 4:32 2015 年 12 月 22 日下午,如果我使用 bg-BG,则 return 16:32 22 Декември(平均 12 月)2015 年。那么 return 4:32 22 Декември 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 是 return en-US 格式。当 DateTime 为 21:22:30 时 someTime 显示 9:22:30。我想成为 21:22:30。我放 tt 是因为如果是 en-US 的文化,我的应用程序可能会在美国使用。

任何人都知道 return DateTime 与当前文化的正确性。

好吧,如果你说你想要 12 小时格式,你明白了。尝试 HH 而不是 hh(参见 msdn)。

ToLongTimeString()。还有更多这些,longshort 版本的 time 和 `date,至少。

顺便说一句,DateTime.Now.ToLongDateString() 让我 Freitag, 5. Februar 2016 无需明确指定文化。

如果要获取 24 小时格式的时间字符串,应在 ToString 函数中使用时间格式 "HH:mm:ss"。 您可以在此处阅读有关日期和时间格式的更多信息: https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx