【问题标题】:SQL Server VB .NET (or C#) datetime CanonicalSQL Server VB .NET(或 C#)日期时间规范
【发布时间】:2013-02-01 21:52:59
【问题描述】:

我正在使用格式为 2011-10-24 00:00:00.000 的规范日期。

我可以运行一条 SQL Server 语句来获取我需要的日期格式。

SELECT 
   CONVERT(VARCHAR(50), CONVERT(datetime, '2011-10-24 00:00:00.000', 120), 101)` as test

返回

10/24/2011.

这是我的问题。

有没有办法做到这一点,在 .Net(C# 或 VB)中将 '2011-10-24 00:00:00.000' 转换为 10/24/2011?

【问题讨论】:

  • 如果您正在寻找 .net 解决方案,我认为您必须使用 ToShortDateString() 等来处理子字符串

标签: c# sql sql-server vb.net


【解决方案1】:

为什么不直接选择它作为日期而不是转换为 VARCHAR(50) ?

如果这不是一个选项,则将其转换为日期 (DateTime.Parse) 并使用日期时间的属性。

【讨论】:

    【解决方案2】:

    在 VB 中

    Dim dt As Date = Date.Parse("2011-10-24 00:00:00.000")
    Dim newDateString as string = dt.ToShortDateString()
    

    在 C# 中

    System.DateTime dt = System.DateTime.Parse("2011-10-24 00:00:00.000");
    string newDateString = dt.ToShortDateString();
    

    【讨论】:

      【解决方案3】:

      VB.Net

        Dim newDate As string = CDate(fromdb).ToShortDateString
      

      c#

        string newDate = DateTime.Parse(fromdb).toShortDateString();
      

      从 db 中提取 DateTime ,让 c# / vb.net 为您转换

      【讨论】:

        【解决方案4】:

        您可以使用DateTime.Parse 将输入字符串解析为DateTime 对象,然后使用DateTime.ToString 方法将其格式化。

        【讨论】:

          猜你喜欢
          • 2018-03-10
          • 2016-09-19
          • 2012-08-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-21
          • 1970-01-01
          相关资源
          最近更新 更多