积极答复者
ASP.NET中GridView日期格式显示的问题.

问题
-
<Columns>
<asp:BoundField DataField="datetime" HeaderText="日期" DataFormatString="{0:yyyy-MM-dd}" HtmlEncode="false" SortExpression="datetime" />
</Columns>
这样的一个日期列,显示出来的日期无论如何都是 2010-10-10 00:00:00
请问如何解决?造成这个问题的原因是什么? 我看到网络上有人说加上 “ HtmlEncode="true" ” 就可以解决问题,但是在我这里行不通...- 已移动 Sheng Jiang 蒋晟Moderator 2010年7月28日 2:39 (发件人:Visual C#)
答案
-
DataFormatString="{0:d}"
说明:
d 精简日期格式 MM/dd/yyyy
D 详细日期格式 dddd, MMMM dd, yyyy
f 完整格式 (long date + short time) dddd, MMMM dd, yyyy HH:mm
F 完整日期时间格式 (long date + long time) dddd, MMMM dd, yyyy HH:mm:ss
g 一般格式 (short date + short time) MM/dd/yyyy HH:mm
G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss
m,M 月日格式 MMMM dd
s 适中日期时间格式 yyyy-MM-dd HH:mm:ss
t 精简时间格式 HH:mm
T 详细时间格式 HH:mm:ss
family as water- 已标记为答案 BoberSongModerator 2010年8月3日 7:30
-
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("name", typeof(string));
dt.Columns.Add("birthday", typeof(DateTime));
DataRow dr = dt.NewRow();
dr["name"] = "张三";
dr["birthday"] = DateTime.Now;
dt.Rows.Add(dr);
GridView1.DataSource = dt;
GridView1.DataBind();
}<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:BoundField HeaderText="生日" DataField="birthday" DataFormatString="{0:yyyy-MM-dd}" HtmlEncode="False"/>
</Columns>
</asp:GridView>
</div>
</form>显示:
生日
2010-07-28- 已标记为答案 BoberSongModerator 2010年8月3日 7:30
全部回复
-
DataFormatString="{0:d}"
说明:
d 精简日期格式 MM/dd/yyyy
D 详细日期格式 dddd, MMMM dd, yyyy
f 完整格式 (long date + short time) dddd, MMMM dd, yyyy HH:mm
F 完整日期时间格式 (long date + long time) dddd, MMMM dd, yyyy HH:mm:ss
g 一般格式 (short date + short time) MM/dd/yyyy HH:mm
G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss
m,M 月日格式 MMMM dd
s 适中日期时间格式 yyyy-MM-dd HH:mm:ss
t 精简时间格式 HH:mm
T 详细时间格式 HH:mm:ss
family as water- 已标记为答案 BoberSongModerator 2010年8月3日 7:30
-
-
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("name", typeof(string));
dt.Columns.Add("birthday", typeof(DateTime));
DataRow dr = dt.NewRow();
dr["name"] = "张三";
dr["birthday"] = DateTime.Now;
dt.Rows.Add(dr);
GridView1.DataSource = dt;
GridView1.DataBind();
}<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:BoundField HeaderText="生日" DataField="birthday" DataFormatString="{0:yyyy-MM-dd}" HtmlEncode="False"/>
</Columns>
</asp:GridView>
</div>
</form>显示:
生日
2010-07-28- 已标记为答案 BoberSongModerator 2010年8月3日 7:30