我正在使用这段代码来检查某件商品是否已超出其到期日期。
<script type="text/javascript">
(function () {
var statusFieldCtx = {};
statusFieldCtx.Templates = {};
statusFieldCtx.Templates.Fields = {
"Expiry_x0020_Date": {"View": StatusIconViewTemplate}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(statusFieldCtx);
})();
function StatusIconViewTemplate(ctx) {
var _dueDate = new Date(ctx.CurrentItem.Expiry_x0020_Date);
var now = new Date();
var nowPlus = new Date();
nowPlus.setDate(now.getDate()+7);
if (_dueDate == 'undefined' || !_dueDate) {
return '';
}
else if (_dueDate < now)
{
return "<span><font style='color:red'>" + _dueDate.toLocaleDateString() + " <img src='/PublishingImages/red.jpg'/></font></span>";
}
else if (_dueDate >= now && _dueDate <= nowPlus)
{
return "<span><font style='color:black'>" + _dueDate.toLocaleDateString() + " <img src='/PublishingImages/yellow.jpg'/></font></span>";
}
else if (_dueDate > now)
{
return "<span><font style='color:black'>" + _dueDate.toLocaleDateString() + "<img src='/PublishingImages/green.jpg'/></font></span>";
}
}</script>
我面临的问题是,_dueDate将以美国日期格式'Thu Aug 6 00:00:00 UTC +0100 2015'来表示日期08/06/2015
我有什么问题,我该如何更正以英国格式显示?
答案 0 :(得分:0)
您可以将字符串转换为Date
javascript对象并组成您想要的格式
var d = new Date('Thu Aug 6 00:00:00 UTC +0100 2015');
var ukDate = (d.getMonth() + 1) + "/" + d.getDate() + "/" + d.getFullYear();
您可以使用Date对象的所有功能;要获得完整列表,您可以看到Developer Mozilla