【问题标题】:Formatting sql datetime to MM/dd/yyyy using C#使用 C# 将 sql 日期时间格式化为 MM/dd/yyyy
【发布时间】:2018-03-10 14:56:38
【问题描述】:

我有一个存储在 SQL 中的日期。当我取回值时,我想格式化为MM/dd/yyyy,但我得到的是2020-09-01 之类的值。

AccountHolderRenewalDate = a.AccountRenewalDate.ToString("MM/dd/yyyy")

AccountHolderRenewalDatea.AccountRenewalDate 都是字符串。 a.AccountRenewalDate 保存我要的日期。

我在这里做错了什么?

【问题讨论】:

  • AccountRenewalDate 的 (c#) 数据类型是什么? DateTime?
  • @gunr2171,它是我的数据类公共字符串 AccountRenewalDate 中的一个字符串
  • 先将其解析为 DateTime,然后将其 ToString 为所需的格式。
  • 那么为什么要用字符串来表示日期时间呢?这是众所周知的问题根源
  • @Steve 有时这是合理的。我在这里有一个第三方系统,它将日期作为 varchar 字段存储在日志中。在 C# 中将其作为字符串处理很方便,因为我们不对日期进行转换。但是,如果是字符串,OP 绝对不应该将其称为日期。

标签: c# datetime


【解决方案1】:

这应该可以解决问题 - 我假设您的数据库是 Date 列,所以我没有使用 DateTime.TryParse:

DateTime.Parse(AccountHolderRenewalDate).ToString("d");

如果您想要 09/01 而不是 9/1,请使用

.ToString("MM/dd/yyyy")

改为

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2013-03-18
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 2017-03-08
    相关资源
    最近更新 更多