【问题标题】:How can return DateTime without change the format如何在不更改格式的情况下返回 DateTime
【发布时间】:2016-02-05 12:13:00
【问题描述】:

我有 DateTimes 列表,并且我想以某种格式获取 DateTime 以显示小时分钟秒。例如,我有来自 en-US 文化的 2015 年 12 月 22 日下午 4:32,如果我使用 bg-BG 则返回 16:32 22 Декември (意思是 12 月)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 格式的 DateTimes 并且在someTime 中以 en-US 格式返回。当DateTime 是 21:22:30 时,someTime 是 9:22:30。我想在 21:22:30。我放了tt,因为如果是en-US 中的文化,我的申请可能会在美国使用。

任何知道如何正确返回当前文化的 DateTime 的人。

【问题讨论】:

  • 你能更好地解释你所看到的吗?文化只有在你打电话给.ToString(...) 时才会发挥作用,DateTime 本身并没有文化。你看过NodaTime吗?
  • 这个问题没有多大意义。 DateTime 值没有任何格式或文化。它们是二进制值,而不是字符串。另一方面,在格式化或解析 时使用的文化是当前文化。请发布代码,显示您尝试了什么、您期望什么以及您得到了什么。您发布的内容与传递任何文化基本相同
  • 顺便说一句,默认情况下没有文化使用 24 小时。我怀疑问题不在于文化,而在于自定义格式
  • @PanagiotisKanavos - 大胆断言,我们在德国有 24 小时制。事实上,我想,12 小时制主要用于英语国家。
  • @EvgeniVelikovevelikov 请确保您系统的文化 BG 或发布更改文化的代码。如果您的文化 BG,您将获得14:53,例如DateTime.Now.ToString("t"),或5.2.2016 г. 14:51:55 获得DateTime.Now.ToString()。但是,如果您已将开发机器设置为英语语言环境,则需要输入 DateTime.Now.ToString("t",new System.Globalization.CultureInfo("bg-BG"))

标签: c# .net datetime culture


【解决方案1】:

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

ToLongTimeString()。还有一些,至少是longshort 版本的time 和`date。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-05
      • 1970-01-01
      相关资源
      最近更新 更多