日付の開始日と終了日を製品に追加しようとしていますが、これらの値はデータベースに日付として保存されます。これらはこの形式で保存されます2013-01-15
。形式は問題ありませんが、アプリケーションで表示すると、時間が表示されます(1/15/2013 12:00:00 AM
)どうすれば時間を削除できますか。以下に、メソッドImがデータにデータバインドされています。
<asp:Label ID="Label4" runat="server" Text='<% # Eval("soDateTo") %>' Font-Bold="False" Font-Size="Small"></asp:Label>
Evalステートメント内で文字列フォーマットを試してください: ASP Forums を参照
日付をフォーマットするにはいくつかの方法があります。
<asp:label id="DateAddedLabel" runat="server" text='<%#
Eval("DateAdded", "{0:d}") %>'></asp:label>
これを試して;
<asp:Label ID="Label4" runat="server" Text='<% # Eval("soDateTo", "{0:dd/MM/yyyy}") %>' Font-Bold="False" Font-Size="Small"></asp:Label>
ダニエルのソリューションに非常に似ていますが、nullを処理します。
<asp:label id="DateAddedLabel" runat="server" text=
'<%# (String.IsNullOrEmpty(Eval("DateAdded").ToString()))
? "No Date Available" : Eval("DateAdded", "{0:d}") %>'>
</asp:label>
これは問題なく答えられましたが、以前は必要以上に多くのLabel
sを使用していましたが、これを使わずに方法を提供すると思いました。
Label
をすべて無視して、Eval(...)メソッドを単独で配置できます。
たとえば、TemplateField
の内部でこれを使用している場合
<asp:TemplateField HeaderText="Date To">
<ItemTemplate>
<%# Eval("soDateTo", "{0:MM/dd/yyyy}") %>
</ItemTemplate>
</asp:TemplateField>
これを使用して、CSSコントロールを少し改善します。たとえば、
<div id="client_since">
<%# Eval("soDateTo", "{0:MM/dd/yyyy}") %>
</div>
使用する DateTime.ToShortDateString
日付の時刻部分を取り除くメソッド:
http://msdn.Microsoft.com/en-us/library/system.datetime.toshortdatestring.aspx
これを試して:
> <asp:Label ID="Label4" runat="server" Text='<% # Eval("soDateTo", "{0:d}") %>'
> Font-Bold="False" Font-Size="Small"></asp:Label>
これを試して;
<asp:Label ID="lbldate" runat="server" Text='<%# (Convert.ToDateTime(Eval("soDateTo"))).ToShortDateString() %>'></asp:Label>