web-dev-qa-db-ja.com

#Eval Short Date

日付の開始日と終了日を製品に追加しようとしていますが、これらの値はデータベースに日付として保存されます。これらはこの形式で保存されます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>
19
Mark Fenech

Evalステートメント内で文字列フォーマットを試してください: ASP Forums を参照

日付をフォーマットするにはいくつかの方法があります。

<asp:label id="DateAddedLabel" runat="server" text='<%#
Eval("DateAdded", "{0:d}") %>'></asp:label>
54
Daniel Park

これを試して;

<asp:Label ID="Label4" runat="server" Text='<% # Eval("soDateTo", "{0:dd/MM/yyyy}") %>' Font-Bold="False" Font-Size="Small"></asp:Label>
16
mhmoudKotb

ダニエルのソリューションに非常に似ていますが、nullを処理します。

<asp:label id="DateAddedLabel" runat="server" text=
    '<%# (String.IsNullOrEmpty(Eval("DateAdded").ToString())) 
    ? "No Date Available" : Eval("DateAdded", "{0:d}") %>'>
</asp:label>
4
benscabbia

これは問題なく答えられましたが、以前は必要以上に多くのLabelsを使用していましたが、これを使わずに方法を提供すると思いました。

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>
3
Kirk

使用する DateTime.ToShortDateString日付の時刻部分を取り除くメソッド:

http://msdn.Microsoft.com/en-us/library/system.datetime.toshortdatestring.aspx

0
IrishChieftain

これを試して:

> <asp:Label ID="Label4" runat="server" Text='<% # Eval("soDateTo", "{0:d}") %>'
> Font-Bold="False" Font-Size="Small"></asp:Label>
0
vbuser2004

これを試して;

<asp:Label ID="lbldate" runat="server" Text='<%# (Convert.ToDateTime(Eval("soDateTo"))).ToShortDateString()  %>'></asp:Label>
0
Enes Taha Selek