2015-06-03 3 views
0

Я использую этот кусок кода, чтобы проверить, вышел ли элемент за пределы его даты истечения срока действия.Javascript SharePoint Date Column format

<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 приходит в формат даты США «чт 6 августа 00:00:00 UTC +0100 2015» на сегодняшний день 08/06/2015

Есть ли что-то, что я делаю неправильно, как я могу исправить это, чтобы появиться в британском формате?

ответ

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