Kentico-获取/格式化日期时间
我在页面模板中有以下代码,但不知道如何格式化Kentico-获取/格式化日期时间,kentico,Kentico,我在页面模板中有以下代码,但不知道如何格式化ReleaseDate以显示完整的月份和年份,例如2016年10月。请帮忙 发布日期: 在另一个转换中,我有这个,它可以工作,但我不知道如何在上面的上下文中使用它。我尝试了CurrentDocument.GetDateTime(..),但没有成功。您不能使用外部转换。但是,您可以使用香草.NET方法: 如果ReleaseDate可以为空,请确保应用空检查。您可以像这样直接使用C: <%= ((System.DateTime)CMS.Do
ReleaseDate
以显示完整的月份和年份,例如2016年10月。请帮忙
发布日期:
在另一个转换中,我有这个
,它可以工作,但我不知道如何在上面的上下文中使用它。我尝试了CurrentDocument.GetDateTime(..)
,但没有成功。您不能使用外部转换。但是,您可以使用香草.NET方法:
如果ReleaseDate
可以为空,请确保应用空检查。您可以像这样直接使用C:
<%= ((System.DateTime)CMS.DocumentEngine.DocumentContext.CurrentDocument.DocumentModifiedWhen).ToString("MMMM yyyy") %>
<%= ((System.DateTime)CMS.DocumentEngine.DocumentContext.CurrentDocument.GetValue("ReleaseDate")).ToString("MMMM yyyy") %>
以下是Kentico宏,它可以满足您的需要:
{% GetDateTime(CurrentDocument.GetValue("ReleaseDate"), "MMMM yyyy")%}
提供的所有答案都有效,但是。问题是,无论何时在页面模板或布局中使用
,都会因为页面生命周期而导致页面出错。因此,当您在Pages应用程序中以设计模式查看页面时,它将不可见或导致错误
我使用两种解决方案来解决这类问题:
<%= ((System.DateTime)CMS.DocumentEngine.DocumentContext.CurrentDocument.DocumentModifiedWhen).ToString("MMMM yyyy") %>
<%= ((System.DateTime)CMS.DocumentEngine.DocumentContext.CurrentDocument.GetValue("ReleaseDate")).ToString("MMMM yyyy") %>
- 在转换中放入in语句以检查它是否是最后一个语句,并使用动态内容呈现该文本
- 将内容放在Web部件的内容后面,并使用Zach Perry提到的简单宏李>
{%GetDateTime(CurrentDocument.GetValue(“ReleaseDate”),“MMMM yyyy”)%}
您可以使用:
<%= String.Format("{0:MMMM yyyy}", CurrentDocument.GetValue("ReleaseDate")) %>
您可能需要重新考虑谁获得了这一声誉,因为我已经首先回答了您的问题,并且是正确的。尽管如此,我还是从其他人那里得到了负分。。。