Javascript SharePoint日期列格式

时间:2015-06-03 11:02:34

标签: javascript sharepoint-2013

我正在使用这段代码来检查某件商品是否已超出其到期日期。

 <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将以美国日期格式'Thu Aug 6 00:00:00 UTC +0100 2015'来表示日期08/06/2015

我有什么问题,我该如何更正以英国格式显示?

1 个答案:

答案 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