toLocaleDateString 给出了不同的结果

问题描述

我正在使用以下功能。它为少数用户提供 Jul-7,-1988输出。它适用于所有用户并提供正确的结果,如 7-Jul-1988。任何人都知道如何解决这个问题。我希望所有用户的结果都是 07-Jul-1988 格式。当我特别提到格式“en-GB”时,为什么它会变成不同的格式。

function(data) {
    var date = new Date(data);  
   
    return date.toLocaleDateString('en-GB',{
        day: 'numeric',month: 'short',year: 'numeric'
      }).replace(/ /g,'-')
}

我在此链接上发现 -​​ https://github.com/nodejs/node/issues/33761 它的行为有所不同。在我的情况下也可能是同样的问题?

更新:我可以使用以下方法以所需格式或moment.js 获取日期吗?

    function(data){
    var months = ["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];
   var current_datetime = new Date(data);
    var formatted_date = current_datetime.getDate() + "-" + months[current_datetime.getMonth()] + "-" + current_datetime.getFullYear()
   console.log(formatted_date)
   }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)