Я извлекаю значения даты из базы данных sql-сервера, используя gridview, и дата преобразуется из
12/12/2009 12/12/2009 12:00:00 AM
Как я могу предотвратить это?
Спасибо!
Я извлекаю значения даты из базы данных sql-сервера, используя gridview, и дата преобразуется из
12/12/2009 12/12/2009 12:00:00 AM
Как я могу предотвратить это?
Спасибо!
Вы можете использовать метод ToString()
с маской:
ToString("MM/dd/yyyy");
UPDATE: просто понял, что в вашем случае было бы проще сделать это в шаблоне сетки.
<asp:BoundField DataField="MyDate" DataFormatString="{0:MM/dd/yyyy}" />
Вы можете установить формат даты в связанном столбце, как это показано
<itemtemplate>
<asp id="Label1" runat="server" Label.Text='<%# Bind("YourDateField", "{0:M-dd-yyyy}") %>'>;
</asp>
</itemtemplate>
установите для параметра dataformatstring значение "{0: d}"
Пример:
<asp:BoundField HeaderText="Date" DataField="Date_Field" ReadOnly="True" DataFormatString="{0:d}">
</asp:BoundField>
Вы также можете использовать .ToShortDateString()
в объекте DateTime, если вы уже манипулируете датой в RowDataBound
Вы можете использовать атрибут DataAnnotations и элемент управления DynamicField; то вам не нужно делать одно и то же форматирование каждый раз, когда вы хотите отформатировать это поле. Вот пример, показывающий, как это сделать здесь: http://www.asp.net/entity-framework/tutorials/the-entity-framework-and-aspnet-%E2%80%93-getting-started-part-8
В
asp: Label runat = "server" Text = '<% # Eval ( "DateAndTime" )% > '
Попробуйте добавить "{0: M-dd-yyyy}"
asp: Label runat = "server" Text = '<% # Eval ( "DateAndTime" , "{0: M-dd-yyyy}" )% > '
когда вы выбираете поле из базы данных, вы можете преобразовать его в строку в качестве:
convert(varchar, myDate, 101)
Попробуйте приведенный ниже код:
<asp:BoundField DataField="my_date" HeaderText="Date"
ReadOnly="True" SortExpression="my_date"
DataFormatString="{0:d}" />
В вышеупомянутом коде my_date
- столбец даты таблицы sqlserver. DataFormatString="{0:d}"
является основной частью этого кода для решения конкретной проблемы вашей.
for (int j = 0; j < gv_bill_dmd_process_create.Rows.Count; j++)
{
GridViewRow row_fees = (GridViewRow)gv_bill_dmd_process_create.Rows[j];
TextBox gv_chk_bill_dept = row_fees.FindControl("txt_gv_DmdProsDuedate") as TextBox;
AjaxControlToolkit.CalendarExtender gv_chk_bill_dept1 = row_fees.FindControl("txt_gv_DmdProsDuedate_CalendarExtender") as AjaxControlToolkit.CalendarExtender;
gv_chk_bill_dept1.StartDate = fromdate;
gv_chk_bill_dept1.EndDate = todate;
}
используйте это в запросе, где вы получаете поле даты
CONVERT(VARCHAR,date column name,103) as date
например: select column1,column2,CONVERT(VARCHAR,date column name,103) as date from tablename