无法自动添加时间,无法在SQL日期字段中显示日期

时间:2012-07-16 21:22:09

标签: c#

C#; .Net 3.5

MessageBox.Show(String.Format(“{0:MM / dd / yyyy}”,reader2 [“SentDate”]。ToString()));

返回:

7-12-2012 12:00:00 AM

SentDate是一个SQL Date字段(不是datetime),它只包含字段中的“2012-07-12”。



我究竟做错了什么?我只希望MessageBox显示“7-12-2012”而不是“12:00:00 AM”。

3 个答案:

答案 0 :(得分:3)

取消.ToString()。在将其发送到模板之前,您将使用默认格式将其转换为字符串。

MessageBox.Show(String.Format("{0:MM/dd/yyyy}", reader2["SentDate"]));

答案 1 :(得分:2)

DateTime dt = getSomeDateTime();
dt.ToString("MMddyy");

您可以通过

将其应用到消息框中
MessageBox.Show(reader2["SentDate"].ToString("MMddyy"));

This documentation might help you expand on this.

答案 2 :(得分:0)

尝试其中任何一项,如果有效

        // create date time 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

这里的另一个例子 look