2015-06-03 55 views
0

我正在使用这段代码来检查一个项目是否超出了它的过期日期。Javascript SharePoint日期列格式

<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() + "&nbsp;<img src='/PublishingImages/red.jpg'/></font></span>"; 
} 
else if (_dueDate >= now && _dueDate <= nowPlus) 
{ 
    return "<span><font style='color:black'>" + _dueDate.toLocaleDateString() + "&nbsp;<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在美国的日期格式“周四08月06日00:00:00 UTC +0100 2015年”到来的日期2015年8月6日

有什么我做错了,我如何纠正这个以英国格式显示?

回答

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