在javascript中将dd/mm/yyyy转换为mm/dd/yyyy

在javascript中将dd/mm/yyyy转换为mm/dd/yyyy,javascript,Javascript,我想在javascript中将dd/mm/yyyy转换为mm/dd/yyyy var initial = 'dd/mm/yyyy'.split(/\//); console.log( [ initial[1], initial[0], initial[2] ].join('/')); //=> 'mm/dd/yyyy' 编辑2021/05/14:使用ES20xx的代码段 constpad=v=>v.padStart(2,`0`); const initialDate=new Date(

我想在javascript中将dd/mm/yyyy转换为mm/dd/yyyy

var initial = 'dd/mm/yyyy'.split(/\//);
console.log( [ initial[1], initial[0], initial[2] ].join('/')); //=> 'mm/dd/yyyy'
编辑2021/05/14:使用ES20xx的代码段

constpad=v=>v.padStart(2,`0`);
const initialDate=new Date().toLocaleDateString(“nl nl”)
.split(/[-/]).map(pad.join(“/”);
常量toFragments=dateString=>initialDate
.split(/[-/]).map(pad);
const dateTo_mmddyyyy=([date,month,year],divider=“/”)=>
`${month}${divider}${date}${divider}${year}`;
常数[日期、月、年]=t分段(初始日期);
console.log(`initial(dd/mm/yyyy):${initialDate}`);
console.log(`重新格式化为mm/dd/yyyy(数组联接):${
[月、日、年]。加入('/')}`);
console.log(`重新格式化为mm dd yyyy(函数):${
dateTo_mmddyyyy(toFragments(initialDate),“-”}`)
新日期将包含1977年9月24日。split方法将在找到“/”的地方拆分字符串,因此如果日期字符串是“24/9/1977”,它仍将工作并返回9/24/1977。

var currentDate=new date()
  var currentDate = new Date()
  var day = currentDate.getDate()
  var month = currentDate.getMonth()
  var year = currentDate.getFullYear()
  document.write("<b>" + month + "/" + day + "/" + year + "</b>")
var day=currentDate.getDate() var month=currentDate.getMonth() var year=currentDate.getFullYear() 文件。写(“+月+”/“+日+”/“+年+”)
dd/mon/yyyy
转换为
mm/dd/yyyy

months = {'jan': '01', 'feb': '02', 'mar': '03', 'apr': '04', 'may': '05',
'jun': '06', 'jul': '07', 'aug': '08', 'sep': '09', 'oct': '10', 'nov': '11',
'dec': '12'};

split = 'dd/mon/yyyy'.split('/');
[months[split[1]], split[0], split[2]].join('/');
split = 'dd/mm/yyyy'.split('/');
[split[1], split[0], split[2]].join('/');
dd/mm/yyyyy
转换为
mm/dd/yyyy

months = {'jan': '01', 'feb': '02', 'mar': '03', 'apr': '04', 'may': '05',
'jun': '06', 'jul': '07', 'aug': '08', 'sep': '09', 'oct': '10', 'nov': '11',
'dec': '12'};

split = 'dd/mon/yyyy'.split('/');
[months[split[1]], split[0], split[2]].join('/');
split = 'dd/mm/yyyy'.split('/');
[split[1], split[0], split[2]].join('/');

尝试以下示例,其中正则表达式用于查找和切换字符串的各个部分:

var d1 = "03/25/2011";
var d2 = d1.replace(/^(\d{1,2}\/)(\d{1,2}\/)(\d{4})$/,"$2$1$3");
alert("d1:"+d1 +"\n d2:"+d2 )

/* 
// OUTPUT

  d1: 03/25/2011
  d2: 25/03/2011

*/
编辑:

我注意到没有其他答案是使用正则表达式,我真想知道为什么…:)

使用此功能

//在两种格式中,对日期、月份和年份使用相同的名称


您可以使用此功能将任何格式的日期(仅包括月份日期和年份)转换为任何格式。:)

试试这个,它适合我:

var fechaLatinFormat= "05-10-2016";//octuber 5, 2016 - octubre 5 del 2016
var datePieces = fechaLatinFormat.split("-"); 
var preFinalDate = new Date(parseInt(datePieces[2]), parseInt(datePieces[1]) - 1, parseInt(datePieces[0]));    
console.log(preFinalDate.format("mm-dd-yyyy")); 
或:


这是一个moment.js版本。图书馆位于


这是使用此正则表达式的数字的唯一解决方案。您可以使用指定的以下函数,1日期和2日期分隔符(可选) 日期将以所需格式返回

const setFormatDDMMYYYYtoMMDDYYYY = (date, separator = '/') => {
  const [day, month, year] = date.split('/');
  return month + separator + day + separator + year;
};

您要转换的是字符串吗?提供一些如何初始化第一种格式的代码。是否使用Date()方法?如果这是用户输入,如何知道它是一种形式而不是另一种形式?最好使用某种JavaScript日期选择器。标题和问题冲突。是dd/mm/yyyy还是dd/mon/yyyy?您的标题似乎表明您希望将mon转换为mm,并将exampl MAR转换为03快速、最简单的方式伟大的解决方案伴侣!有点像黑客,但在这么短的时间内,这是一个非常好的快速解决方案。谢谢!一个解释会很有帮助,这样人们就可以从你的答案中学习,而不仅仅是从网上复制粘贴一些代码。看见
var fechaLatinFormat= "05-10-2016";//octuber 5, 2016 - octubre 5 del 2016
var datePieces = fechaLatinFormat.split("-"); 
var preFinalDate = new Date(parseInt(datePieces[2]), parseInt(datePieces[1]) - 1, parseInt(datePieces[0]));    
console.log(preFinalDate.format("mm-dd-yyyy")); 
var fechaLatinFormat= "05-10-2016";//octuber 5, 2016 - octubre 5 del 2016
var datePieces = fechaLatinFormat.split("-"); 
var preFinalDate = [datePieces[1] , datePieces[0] , datePieces[2]];
console.log(preFinalDate.join("-"));
//specify the date string and the format it's initially in
var mydate = moment('15/11/2000', 'DD/MM/YYYY'); 

//format that date into a different format
moment(mydate).format("MM/DD/YYYY");

//outputs 11/15/2000
var date = "31/03/2017 14:28";
var regex = /(\d+)/g;
var d = date.match(regex);
var out = d[2] + "-" + d[1] + "-" + d[0] + " " + d[3] + ":" + d[4];
var dag = new Date(out);
console.log(dag);
const setFormatDDMMYYYYtoMMDDYYYY = (date, separator = '/') => {
  const [day, month, year] = date.split('/');
  return month + separator + day + separator + year;
};