【问题标题】:change Date Format C#更改日期格式 C#
【发布时间】:2016-09-17 09:19:43
【问题描述】:

我正在创建一个网络应用程序,如果用户想要在特定日期之间显示数据,他在 ajax 日历扩展器的帮助下在文本框中输入日期, 有两个文本框 1 从日期 2 迄今为止

9/1/2016

9/16/2016

这就是日期的到来,但我想在验证数据库中的日期之前转换日期,

我希望日期格式如下所示

2015-10-26

2016-09-28

【问题讨论】:

  • 将日期读取为DateTime 对象,而不是字符串。格式化日期仅用于在 UI 中显示。
  • 日期没有格式,你如何展示它们需要一个“格式”。这是通过将 Dates 转换为字符串来完成的。目前尚不清楚确切的上下文。如果您使用 TextBox 输入日期,那么您无法控制用户如何输入这些日期。改用 DateTimePicker 可以让您对日期值的显示进行一些控制
  • @Steve 日期来自日历扩展器,格式保持不变
  • 您想在数据库端或 C# 进行转换?

标签: c# date


【解决方案1】:
//26-10-2015
CONVERT(VARCHAR(10),GETDATE(),110)
//2015-10-26
 CONVERT(char(10), GetDate(),126)

你可以像这样转换你的日期时间

【讨论】:

    【解决方案2】:

    假设你有两个字符串

    string date="10-10-2016"; 
    string datecon="";
    
    
    datecon=DateTime.ParseExact(datefrm, "dd-MM-yyyy",CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");
    

    【讨论】:

      【解决方案3】:

      格式将是更好的选择,而不是转换为 varchar 并显示它。但如果您使用的是 SQL Server 2012 或更高版本,则可以使用 Format

      DECLARE @d DATETIME = '10/01/2011';  
      
      SELECT FORMAT(@d,'yyyy-MM-dd')
      

      【讨论】:

        【解决方案4】:

        您可以使用以下代码:

        DECLARE @INPUT_DATE_1 DATETIME = '9/1/2016'
        
        SELECT CONVERT(VARCHAR(10), @INPUT_DATE_1, 126) as FORMATTED_DATE_1
        
        
        DECLARE @INPUT_DATE_2 DATETIME = '9/16/2016'
        
        SELECT CONVERT(VARCHAR(10), @INPUT_DATE_2, 126) as FORMATTED_DATE_2
        

        【讨论】:

          【解决方案5】:

          我认为你应该使用

          select CONVERT(VARCHAR(10),GETDATE(),120)
          

          输出是 2016-09-17

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-06-05
            • 2016-11-22
            相关资源
            最近更新 更多