【问题标题】:Convert Datetime to String in asp.net在asp.net中将日期时间转换为字符串
【发布时间】:2012-04-24 15:36:11
【问题描述】:

我正在调用数据列表中添加日期的列之一,例如:

<asp:Label ID="lblDate" runat="server" Text='<%# Eval("DateAdded") %>'></asp:Label>

显示它显示 24/04/2012 12:07:52,我想显示:2012 年 4 月,

谁能提供有关如何获得此显示的任何帮助 谢谢 更新:

我试过了,但没有成功:

<asp:Label ID="lblDate" runat="server" Text='<%# Eval("DateAdded").ToString("yyyyMM") %>'></asp:Label>

更新 2 [工作]:

'<%# Eval("DateAdded" ,"{0:MMMM yyyy}") %>'>

【问题讨论】:

标签: asp.net datetime


【解决方案1】:

你几乎拥有它。像这样的东西应该可以工作:

Text='<%# Eval("DateAdded", "{0:MMMM yyyy}") %>'

您的示例的问题是Eval 函数返回类型object,因此它不知道如何应用格式。 Eval 函数重载(上图)接受一种格式,并且可以在幕后解决所有这些问题,但您也可以通过将值转换或转换为 DateTime 来解决此问题:

Text='<%# ((DateTime)Eval("DateAdded")).ToString("MMMM yyyy") %>'

【讨论】:

  • 这将显示为201204他想要April 2012
  • @Jeff:固定显示完整的月份名称和四位数的年份。
  • @MrA:我更新了我的答案以显示完整的月份和四位数的年份,例如April 2012
【解决方案2】:

你可以用这个:

DateTime.Now.ToString("MMMM d, yyyy h:mm tt");

【讨论】:

    猜你喜欢
    • 2017-09-13
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 2011-12-16
    • 2014-05-24
    • 1970-01-01
    相关资源
    最近更新 更多