如何在不更改格式的情况下返回日期时间

本文关键字:情况下 返回 日期 时间 格式 | 更新日期: 2023-09-27 18:33:19

我有日期时间列表,我想获取日期时间,并采用某种格式显示小时分钟秒。例如,我有 4:32 PM 22 十二月 2015 来自 en-US 文化,如果我使用 bg-BG,那么返回 16:32 22 Декември(平均十二月)2015。井是返回 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以 en-US 格式返回。当DateTime是21:22:30时,someTime是9:22:30。我想成为21:22:30。我把tt因为有可能我的应用程序在美国使用,如果是文化在en-US

任何知道如何正确返回具有当前文化的日期时间的人。

如何在不更改格式的情况下返回日期时间

好吧

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

或者ToLongTimeString().至少还有更多这样的版本,longshort版本的time和日期。

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

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