2

C#; .Net 3.5

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

返回:

2012 年 7 月 12 日上午 12:00:00

SentDate 是一个 SQL 日期字段(不是日期时间),字段中只包含“2012-07-12”。



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

4

3 回答 3

3

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

MessageBox.Show(String.Format("{0:MM/dd/yyyy}", reader2["SentDate"]));
于 2012-07-16T21:25:20.190 回答
2
DateTime dt = getSomeDateTime();
dt.ToString("MMddyy");

您可以通过执行将其应用到您的消息框

MessageBox.Show(reader2["SentDate"].ToString("MMddyy"));

本文档可能会帮助您对此进行扩展。

于 2012-07-16T21:23:23.133 回答
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

另一个相同的例子在这里

于 2012-07-16T21:36:27.773 回答