Je tire des valeurs de date d'une base de données de serveur SQL en utilisant un gridview et et la date est convertie de
12/12/2009 à 12/12/2009 12:00:00 AM
Comment puis-je empêcher que cela se produise?
Merci !
Vous pouvez utiliser la méthode ToString()
avec un masque:
ToString("MM/dd/yyyy");
MISE À JOUR: Je viens de me rendre compte qu'il serait plus facile dans votre cas de le faire dans le modèle de vue en grille
<asp:BoundField DataField="MyDate" DataFormatString="{0:MM/dd/yyyy}" />
Vous pouvez définir le format de date dans la colonne liée comme ceci
<itemtemplate>
<asp id="Label1" runat="server" Label.Text='<%# Bind("YourDateField", "{0:M-dd-yyyy}") %>'>;
</asp>
</itemtemplate>
définir la valeur de dataformatstring sur "{0: d}"
Ex:
<asp:BoundField HeaderText="Date" DataField="Date_Field" ReadOnly="True" DataFormatString="{0:d}">
</asp:BoundField>
Dans
asp: Label runat = "server" Text = '<% # Eval ("DateAndTime")%>'
Essayez d’ajouter "{0: M-jj-aaaa}"
asp: Label runat = "serveur" Texte = '<% # Eval ("DateAndTime", "{0: M-jj-aaaa}" )%>
Vous pouvez également utiliser .ToShortDateString()
sur le DateTime Object si vous manipulez déjà la date dans le RowDataBound.
Vous pouvez utiliser un attribut DataAnnotations et un contrôle DynamicField. alors vous n'avez pas à faire le même formatage à chaque fois que vous souhaitez formater ce champ . Voici un exemple montrant comment procéder: http://www.asp.net/entity -framework/tutorials/the-entity-framework-and-aspnet-% E2% 80% 93-getting-started-part-8
lorsque vous sélectionnez le champ dans la base de données, vous pouvez le convertir en chaîne dans le champ select
convert(varchar, myDate, 101)
Essayez le code ci-dessous:
<asp:BoundField DataField="my_date" HeaderText="Date"
ReadOnly="True" SortExpression="my_date"
DataFormatString="{0:d}" />
my_date
est la colonne de date de la table sqlserver dans le code mentionné ci-dessus. Le DataFormatString="{0:d}"
est la partie principale de ce code permettant de résoudre votre problème particulier.