Я хочу преобразовать dd/mm/yyyy в mm/dd/yyyy в javascript.
Конвертировать dd/mm/yyyy в mm/dd/yyyy в javascript
Ответ 1
var initial = 'dd/mm/yyyy'.split(/\//);
console.log( [ initial[1], initial[0], initial[2] ].join('/')); //=> 'mm/dd/yyyy'
// or in this case you could use
var initial = 'dd/mm/yyyy'.split(/\//).reverse().join('/');
Ответ 2
var date = "24/09/1977";
var datearray = date.split("/");
var newdate = datearray[1] + '/' + datearray[0] + '/' + datearray[2];
newdate будет содержать 09/24/1977. Метод split будет разделять строку везде, где он найдет "/", поэтому, если строка даты была "24/9/1977", она все равно будет работать и вернется 9/24/1977.
Ответ 3
Преобразовать 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('/');
Преобразуйте dd/mm/yyyy
в mm/dd/yyyy
:
split = 'dd/mm/yyyy'.split('/');
[split[1], split[0], split[2]].join('/');
Ответ 4
var months = new Array("jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec");
var ddSplit = '12/23/2011'.split('/'); //date is mm/dd/yyyy format
alert(ddSplit[1]+'-'+months[ddSplit[0]-1] + '-' + ddSplit[2])
Ответ 5
Это версия moment.js. Библиотеку можно найти в http://momentjs.com/
//specify the date string and the format it 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
Ответ 6
Попробуйте этот пример, где регулярное выражение используется для поиска и переключения частей строки:
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
*/
EDIT:
Я заметил, что никакой другой ответ не использует регулярное выражение, и я действительно удивляюсь, почему...:)
Ответ 7
var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth()
var year = currentDate.getFullYear()
document.write("<b>" + month + "/" + day + "/" + year + "</b>")
Ответ 8
date = "01/Feb/2010"
monthes = {"Jan": "01", "Feb": "02", "Mar": "03" ... }
date_ar = date.split(/\//)
day = date_ar[0]
year = date_ar[2]
month = monthes[date_ar[1]]
new_date = [month, day, year].join("/")
Ответ 9
используйте эту функцию
function dateFormat(existingFormat,neededFormat,existingSeperator,newSeperator,dateValue)
{
var exst = existingFormat.toLowerCase().split(existingSeperator);
var d = dateValue.split(existingSeperator);
d[exst[0]] = d[0]; d[exst[1]]=d[1]; d[exst[2]]=d[2];
var newst = neededFormat.toLowerCase().split(existingSeperator);
newDate = d[newst[0]] +newSeperator+d[newst[1]] +newSeperator+d[newst[2]];
return(newDate);
}
var dd = dateFormat('dd/yy/mm','mm/dd/yy','/','-','30/87/05');//dateFormat(existingFormat,neededFormat,existingSeperator,newSeperator,dateValue)
//используйте одно и то же имя для даты месяца и года в обоих форматах
Вы можете использовать эту функцию для преобразования любой даты формата (включая только дату месяца) в любой формат.:)
Ответ 10
Попробуйте, это работает для меня:
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("-"));
Ответ 11
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);
Это только решение для чисел с этим регулярным выражением