0

我在 SQL Server 中有一个表,它有一orderDatedatetime类型

在此处输入图像描述

我在我的 asp.net 页面中使用 usingSystem.Globalization并使用此代码来获取我的太阳能格式的系统日期历史记录,例如 1391/01/29 年/月/日:

 PersianCalendar pc=new PersianCalendar(); 
 DateTime dt = DateTime.Now; 
 string year= pc.GetYear(dt).ToString();
 string month= pc.GetMonth(dt).ToString();
 string day= pc.GetDayOfMonth(dt).ToString();

它工作正常,然后我将日期存储在我的表中,然后在 SQL Server 中编写一个选择查询,它工作正常,但是当我获取此列值并将其显示在我SqlDataSource在另一个 asp.net 页面中使用的网格视图中时,它显示结果是这样的:

AM 12:00:00  9/1/1391 

但它应该显示如下结果

1391/09/01

我不知道为什么会这样?

4

2 回答 2

2

在绑定字段上设置DataFormatString属性:

<asp:BoundField DataField="<Your Date Field>" HeaderText="<Column Header>"
                DataFormatString="{0:yyyy-MM-dd}"  />
于 2013-02-10T18:45:15.740 回答
1

或者您可以在传递给应用程序之前在服务器上转换日期值。

SELECT replace(convert(varchar(10),getdate(),120),'-','/') date
于 2013-02-10T18:46:58.890 回答