Javascript 将日期的格式更改为dd/MM/yyyy

Javascript 将日期的格式更改为dd/MM/yyyy,javascript,jquery,jslink,Javascript,Jquery,Jslink,任何人都知道如何调整当前的JS代码,并使之成为[ItemDate]以dd/MM/yyyy格式显示日期,而不是默认的:MM/dd/yyyy HH:MM:ss 代码是从一个将XML转换为可读的HMTL格式的网站复制的。。。问题只是date.format,我发现很难实现更改 <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <sc

任何人都知道如何调整当前的JS代码,并使之成为[ItemDate]以dd/MM/yyyy格式显示日期,而不是默认的:MM/dd/yyyy HH:MM:ss

代码是从一个将XML转换为可读的HMTL格式的网站复制的。。。问题只是date.format,我发现很难实现更改

    <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>  
<script type="text/javascript">  
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({  
  Templates: {  
           Fields: {  
                'ItemsOverview': {   
                    'View': repeatingSectionViewTemplate  
                 }  
           }  
  }  
});  

function repeatingSectionViewTemplate(ctx) {  
   var xml = ctx.CurrentItem["ItemsOverview"];  
   var decodedxml = xml.DecodeXMLNotation();   
   var htm = "";  

   xmlDoc = $.parseXML( decodedxml );  
   $xml = $( xmlDoc );  
   $xml.find("Item").each(function() {  
      htm = htm + "<tr><td width='50px'>" + $(this).find("ItemNumber").text() + "</td><td width='140px'>" + $(this).find("ItemDescription").text() + "</td><td width='70px'>" + $(this).find("ItemStatus").text() + "</td><td>" + $(this).find("ItemDate").text()
 +"</td><td>" + $(this).find("CollectedByUser").text() +"</td></tr>"; 
   });  

   return "<table border='1px' width='550px'  style='border-collapse:collapse;'><tr><th align='left' width='50px'>Item</th><th align='left' width='180px'>Description</th><th align='left' width='70px'>Status</th><th align='left' width='70px'>Date</th><th align='left' width='170px'>Collected By</th></tr>" + htm +"</table>";  
};  

//Replaces html notation to their equivalent xml escape characters.  
String.prototype.DecodeXMLNotation = function () {  
   var output = this;  
    if ($.trim(output) != "") {  
        output = output.replace(/&apos;/g, "'").replace(/&quot;/g, '"').replace(/&gt;/g, '>').replace(/&lt;/g, '<').replace(/&amp;/g, '&');  
    }  
    else {  
        output = "";  
    }  
    return output;  
};  

</script>

SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
模板:{
字段:{
'ItemsOverview':{
“视图”:repeatingSectionViewTemplate
}  
}  
}  
});  
函数repeatingSectionViewTemplate(ctx){
var xml=ctx.CurrentItem[“ItemsOverview”];
var decodedxml=xml.DecodeXMLNotation();
var htm=“”;
xmlDoc=$.parseXML(decodedxml);
$xml=$(xmlDoc);
$xml.find(“Item”).each(函数(){
htm=htm++$(此).find(“ItemNumber”).text()++$(此).find(“ItemDescription”).text()++$(此).find(“ItemStatus”).text()++$(此).find(“ItemDate”).text()
+“”+$(this.find(“CollectedByUser”).text()+“”;
});  
返回“ItemDescriptionStatusDateCollected By”+htm+”;
};  
//将html符号替换为其等效的xml转义字符。
String.prototype.DecodeXMLNotation=函数(){
var输出=此;
如果($.trim(输出)!=“”){

output=output.replace(//apos;/g,“”).replace(///g,“”).replace(//g,“>”).replace(//g,”您必须创建一个函数来重新格式化日期

function formatDate(dateStr) {
    const d = new Date(dateStr);
    return d.getDate().toString().padStart(2, '0') + '/' + d.getMonth() + 1 + '/' + d.getFullYear() + ' ' + d.getHours() + ':' + d.getMinutes().toString().padStart(2, '0');
}

而不是使用
$(this.find(“ItemDate”).text()
,而是使用
formatDate($(this.find(“ItemDate”).text())
实现这一点的最佳方法是Moment.js插件。 矩()格式('DD/MM/yyyyy)

var newDate=newDate();
console.log(newDate);
var formattedDate=moment().format('DD/MM/yyyyy');
console.log(格式化日期);
使用:
安装时使用:

npm安装时刻--保存
然后使用

var moment = require('moment');
let formatted = moment().format('DD/MM/YYYY');
在你的档案里

或者,如果您是在
html
中进行内联操作,请使用:


设formatted=moment().format('DD/MM/YYYY');

可以使用以下转换为相同格式的函数:

parseDate = (d) => {
        let date = new Date(d);        
        var mm = date.getMonth() + 1; // getMonth() is zero-based
        var dd = date.getDate();

        let newdate = [(dd>9 ? '' : '0') + dd + '/',
                    (mm>9 ? '' : '0') + mm+  '/',
                    date.getFullYear(),
                   ].join('');
        return newd + ' at ' + date.getUTCHours() + ':' + date.getUTCMinutes() + ':' + date.getUTCSeconds();
    }
希望这有帮助。

我认为“dd/MM/yyyy”是一种法语格式:

var日期=新日期('12/17/2018 03:24:00');

console.log(date.toLocaleDateString(“fr fr”);
use试图实现您的建议,但是整个脚本不再工作……我是否将函数
formattedate(){…}
放在
函数repeatingSectionViewTemplate(ctx){…}的前面或后面
在函数之外。之前或之后都不重要。你有任何错误吗?按CTRL+Shift+J打开你的控制台,看看是否有错误。我是否应该简单地复制并粘贴函数{…}区域内的代码,并引用矩量.js…然后就可以了?因为这不是我的情况!