【问题标题】:C# how to retrieve date in textbox in asp.netC#如何在asp.net的文本框中检索日期
【发布时间】:2019-02-13 01:00:53
【问题描述】:

我正在尝试从具有 datetime 数据类型的数据库中检索日期。我怎样才能只检索日期?我的代码目前是这样的:

startDateTb.Text = dtbl.Rows[0]["StartDate"].ToString();

【问题讨论】:

    标签: c# asp.net date


    【解决方案1】:

    你可以使用string.Format("{0:MM/dd/yyyy}", DateTime.Parse(dtbl.Rows[0]["StartDate"].ToString()))

    您可以参考多种格式: // 创建日期时间 2008-03-09 16:05:07.123

    DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);
    
    String.Format("{0:y yy yyy yyyy}",      dt);  // "8 08 008 2008"   year
    String.Format("{0:M MM MMM MMMM}",      dt);  // "3 03 Mar March"  month
    String.Format("{0:d dd ddd dddd}",      dt);  // "9 09 Sun Sunday" day
    String.Format("{0:h hh H HH}",          dt);  // "4 04 16 16"      hour 12/24
    String.Format("{0:m mm}",               dt);  // "5 05"            minute
    String.Format("{0:s ss}",               dt);  // "7 07"            second
    String.Format("{0:f ff fff ffff}",      dt);  // "1 12 123 1230"   sec.fraction
    String.Format("{0:F FF FFF FFFF}",      dt);  // "1 12 123 123"    without zeroes
    String.Format("{0:t tt}",               dt);  // "P PM"            A.M. or P.M.
    String.Format("{0:z zz zzz}",           dt);  // "-6 -06 -06:00"   time zone
    
    // month/day numbers without/with leading zeroes
    String.Format("{0:M/d/yyyy}",           dt);  // "3/9/2008"
    String.Format("{0:MM/dd/yyyy}",         dt);  // "03/09/2008"
    
    // day/month names
    String.Format("{0:ddd, MMM d, yyyy}",   dt);  // "Sun, Mar 9, 2008"
    String.Format("{0:dddd, MMMM d, yyyy}", dt);  // "Sunday, March 9, 2008"
    
    // two/four digit year
    String.Format("{0:MM/dd/yy}",           dt);  // "03/09/08"
    String.Format("{0:MM/dd/yyyy}",         dt);  // "03/09/2008"
    

    C# DateTime to "YYYYMMDDHHMMSS" format

    【讨论】:

    • 我有错误 no 重载方法 toString 采取 1 争论
    • 应该是 ToString 而不是 toString
    • 我更新了代码行 string.Format("{0:MM/dd/yyyy}", DateTime.Parse(dtbl.Rows[0]["StartDate"].ToString()))
    【解决方案2】:

    试试这样的

    startDateTb.Text = dtbl.Rows[0]["StartDate"] is DBNull ? "" : Convert.ToDateTime(dtbl.Rows[0]["StartDate"]).ToString("dd/MM/yyyy");
    

    检查列是否为空,然后从列中获取格式化日期

    【讨论】:

      【解决方案3】:

      你可以做两件事。在您的 SQL Server 端,执行以下操作:

      /* date is in mm/dd/yyyy format */
      SELECT CONVERT(VARCHAR(10),GETDATE(),101); 
      

      或者在c#端:

      startDateTb.Text = Convert.toDateTime(dtbl.Rows[0]["StartDate"]).ToString("d/MM/yyyy");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        • 2021-10-25
        相关资源
        最近更新 更多