【问题标题】:converting a string to date in the exact manner以确切的方式将字符串转换为日期
【发布时间】:2012-12-21 10:10:12
【问题描述】:

我有一个字符串“2011 年 1 月 11 日”,我想将其转换为数据类型日期(即 2011 年 1 月 11 日)。

我已经尝试了有关 datetime.parsedatetime.parse 的所有资源,但所有这些东西都给了我相同的输出 2011/01/11 12:00:00 AM。我真的不明白这种行为。我尝试了以下方法:

1.DateTime date = DateTime.Parse("11 Jan 2011");

2.DateTime date = DateTime.ParseExact("11 Jan 2011" , @"dd MMM yyyy", System.Globalization.CultureInfo.InvariantCulture);

【问题讨论】:

  • 有什么问题?它被称为 Date Time 类是有原因的。
  • "2011/01/11" 2011 年 1 月 11 日。“12:00:00 AM”是指 12:00:00 吗?
  • 在哪里给你同样的输出?一旦它是 DateTime,您可以以任何您想要的字符串格式返回它。看起来你做对了。 msdn.microsoft.com/en-us/library/zdtaw1bw.aspx
  • 您希望DateTime 拥有什么时间?你有自己的Date 类型吗?

标签: c# string date


【解决方案1】:

解析和显示不是一回事

您将原始字符串解析为 DateTime 对象,但使用 Date/Time format strings 显示结果

【讨论】:

    【解决方案2】:

    你的两个电话都是正确的。

    DateTime 结构不保留有关格式化的信息;它只代表原始日期和时间。

    您需要做的是确保当您显示您的日期时,以正确的格式显示 - 例如致电string displayString = date.ToString("dd MMM yyyy");

    【讨论】:

      猜你喜欢
      • 2013-08-16
      • 1970-01-01
      • 2021-12-09
      • 2013-12-28
      • 1970-01-01
      • 2014-01-18
      • 2019-10-13
      相关资源
      最近更新 更多