
Con el fin de dar formato de fecha a una columna de un GridView utilizaremos Eval. Hay muchos formatos disponibles para los tipos de fecha y hora y en este artículo veremos algunos ejemplos que demuestran cómo dar formato DateTime y también todos los otros formatos de fecha y hora que se pueden utilizar según lo que usted requiera.
Primero veremos cómo sería en un Repeater.
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1"> <HeaderTemplate> <table border="1"> <tr> <th>CustomerID</th> <th>ShipName</th> <th>OrderDate</th> <th>RequiredDate</th> <th>ShippedDate</th> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%# Eval("CustomerID")%></td> <td><%# Eval("ShipName")%></td> <td><%# Eval("OrderDate", "{0:dd/MM/yyyy}")%></td> <td><%# Eval("RequiredDate", "{0:D}")%></td> <td><%# Eval("ShippedDate", "{0:f}")%></td> </tr> </ItemTemplate> <FooterTemplate> </tabel> </FooterTemplate> </asp:Repeater> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" SelectCommand="SELECT top 10 [OrderID], [CustomerID], [ShipName], [OrderDate], [RequiredDate], [ShippedDate] FROM [Orders]"></asp:SqlDataSource>
Ahora lo veremos en un GridView
<asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" DataSourceID="SqlDataSource1" GridLines="None" AutoGenerateColumns="False" Height="191px" Width="742px"> <Columns> <asp:BoundField DataField="OrderID" HeaderText="OrderID" /> <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" /> <asp:BoundField DataField="OrderDate" DataFormatString="{0:d}" HeaderText="OrderDate" SortExpression="OrderDate" /> <asp:BoundField DataField="ShippedDate" DataFormatString="{0:M}" HeaderText="ShippedDate" /> <asp:BoundField DataField="RequiredDate" DataFormatString="{0:g}" HeaderText="RequiredDate" /> </Columns> <FooterStyle BackColor="#C6C3C6" ForeColor="Black" /> <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" /> <PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" /> <RowStyle BackColor="#DEDFDE" ForeColor="Black" /> <SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" /> <SortedAscendingCellStyle BackColor="#F1F1F1" /> <SortedAscendingHeaderStyle BackColor="#594B9C" /> <SortedDescendingCellStyle BackColor="#CAC9C9" /> <SortedDescendingHeaderStyle BackColor="#33276A" /> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" SelectCommand="SELECT top 10 [OrderID], [CustomerID], [ShipName], [OrderDate], [RequiredDate], [ShippedDate] FROM [Orders]"></asp:SqlDataSource>
Estos ejemplos son con la base de datos Northwind, los que no cuenten con esta base de datos la pueden descargar de aquí.
La siguiente tabla muestra otros formatos de fecha que se pueden utilizar para dar formato a la fecha en las columnas de un GridView, Repeater, ListView, etc. según el requisito.
Format Pattern |
Name |
Result Example |
d |
Short date |
11/8/2008 |
D |
Long date |
Sunday, August 11, 2008 |
t |
Short time |
3:32 PM |
T |
Long time |
3:32:00 PM |
f |
Full date/time (short time) |
Sunday, August 11, 2008 3:32 PM |
F |
Full date/time (long time) |
Sunday, August 11, 2008 3:32:00 PM |
g |
General date/time (short time) |
8/11/2008 3:32 PM |
G |
General date/time (long time) |
8/11/2008 3:32:00 PM |
m or M |
Month day |
August 11 |
r or R |
RFC 1123 |
Sun, 11 Aug 2008 8:32:00 GMT |
s |
Sortable date/time |
2008-08-11T15:32:00 |
u |
Universable sortable date/time |
2008-08-11 15:32:00z |
U |
Universable sortable date/time |
Sunday, August 11, 2008 11:32:00 PM |
y or Y |
Year month |
August, 2008 |