【问题标题】:How to convert date format to dd/MM/yyyy in C# where my SQL Server date format is in yyyy/MM/dd [duplicate]如何在 C# 中将日期格式转换为 dd/MM/yyyy,其中我的 SQL Server 日期格式为 yyyy/MM/dd [重复]
【发布时间】:2017-05-30 05:20:42
【问题描述】:

我正在使用具有 yyyy/MM/dd 格式的 DateTime 的存储过程,但我想在后面的代码中将其转换为 dd/MM/yyyy 格式。谁能帮我解决这个问题?

txtstart.Text =  "01" + "/01/" + DateTime.Now.Year.ToString() ;
txtend.Text = System.DateTime.Now.ToString("dd/MM/yyyy");

【问题讨论】:

  • 如果我得到正确的答案,重复的答案和下面的答案都不是你的好解决方案......答案是:不要在字符串级别处理 DateTime!您的 SQL Server 没有日期格式! 与 C# 类似,DateTime 不存储为您看到的字符串,而是以二进制格式。 字符串仅用于演示。使用正确类型的参数!
  • 更改 txtend.Text = System.DateTime.Now.ToString("dd/MM/yyyy");到 txtend.Text = System.DateTime.Now.Date.ToString("dd/MM/yyyy");或使用 toShortdateString() 方法
  • 感谢 Saurabh :)

标签: c# asp.net sql-server date datetime


【解决方案1】:

试试这个。

txtend.Text =  DateTime.ParseExact("your date", "dd/MM/yyyy",
                                        CultureInfo.InvariantCulture);

【讨论】:

  • 您好 Innoval,感谢您的回复。我需要 'System.DateTime.Now'
【解决方案2】:

我假设您从数据库中获取 yyyy/MM/dd 格式的 DateTime,并希望将其转换为 dd/MM/yyyy。如果是的话,看看下面的对你有没有帮助,

string dateTimeFromDB = System.DateTime.Now.ToString("yyyy/MM/dd");
string dateTimeInCorrectFormat = 
Convert.ToDateTime(dateTimeFromDB).ToString("dd/MM/yyyy");

但是,请在格式化之前和格式化时检查 FormatException 和其他需要的防御性检查。

【讨论】:

  • 嗨 Shankar..我已经使用了你的代码并将 DateTimeInCorrectFormat 传递给了我的 TxtEnd..它显示'函数过程需要参数'@Enddate',但未提供'
  • 分配是否因“函数过程需要参数...”而失败?看看给txtEnd.Text赋值的DateTime(dateTimeInCorrectFormat)是否成功。消息“函数过程需要参数...”是一个 DB 访问消息,可能不是来自赋值本身。
  • 是的,我已经调试过了,txtend 从我需要的地方传递了正确的内容
【解决方案3】:

使用 DateTimes ParseExact 方法将原始字符串转换为 DateTime 值,然后使用带有模式的 ToString 将该 DateTime 对象转换为所需格式的字符串:

DateTime.ParseExact(yourDateString, "dd/MM/yyyy", null).ToString("MM/dd/yyyy")

【讨论】:

    猜你喜欢
    • 2012-05-05
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    相关资源
    最近更新 更多