【问题标题】:DateTime Feature in C#C# 中的日期时间功能
【发布时间】:2013-03-25 15:55:53
【问题描述】:

我必须从数据库中检索格式为 YYYY-MM-DD 的日期并将其显示为以下格式:

周一 25 日

目前我的代码如下:

Label fixtureDateLabel = new Label();
fixtureDateLabel.Text = dReaderGameweekFixtures["fixtureDate"].ToString();

如何调整它以我想要的格式显示?

【问题讨论】:

  • 您从数据库中获取的DATETIME(假设是 SQL Server)没有 any 字符串格式 - you 定义了格式应该是,当调用.ToString()就可以了...
  • 您的日期是作为文本存储在数据库中,还是作为datetime 值存储?
  • 您的问题不清楚,缺少一些细节。请改进。

标签: c# asp.net date


【解决方案1】:

您可以使用ToString 方法来做到这一点:

var result = DateTime.Parse(
  dReaderGameweekFixtures["fixtureDate"].ToString()
).ToString("ddd dd");

据我所知,您需要一些额外的东西来制定日期编号的后缀,即already conveniently provided here

【讨论】:

  • 那只会显示“Mon 25”而不是“25th”……“th”后缀实际上很棘手。
  • @ReedCopsey 是的,它已经在 SO 上介绍过了,我不打算重做,但必须找到它。
  • 也许您不需要 ToString/Parse 即可到达 DateTime,只需简单的演员表就足够了:((DateTime)dReaderGameweekFixtures["fixtureDate"]).ToString("ddd dd")
  • 添加“th”或任何其他后缀似乎很棘手,特别是因为这些字符串没有本地化
【解决方案2】:

您需要根据其中一种可用格式来格式化字符串:

http://msdn.microsoft.com/en-gb/library/az4se3k1.aspx

将其传递给ToString 方法。

【讨论】:

    【解决方案3】:

    点击下面的链接,可以满足您的需求并增加您的知识...

    http://www.dotnetperls.com/datetime-format

    【讨论】:

      【解决方案4】:

      你应该使用带格式参数的 DateTime 的 ToString 方法

      在这里查看一些信息 - http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

      Label fixtureDateLabel = new Label();
      DateTime d = dReaderGameweekFixtures["fixtureDate"];
      fixtureDateLabel.Text = d.ToString("yyyy-MM-dd");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多