我的字符串看起来像' 1/11/2018 12:00:00 AM'我想把它重新格式化为dd-mm-yyyy。 请记住,有时月份可能是两位数。
答案 0 :(得分:0)
你可以这样想:
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1; //Months are zero based
var curr_year = d.getFullYear();
console.log(curr_date + "-" + curr_month + "-" + curr_year);
但最好的方法是使用Moment.js,您可以在JavaScript中解析,验证,操作和显示日期。
示例:
var date= moment("06/06/2015 11:11:11").format('DD-MMM-YYYY');
答案 1 :(得分:0)
您可以使用像moment.js这样的库。假设您不想使用任何外部库或无法使用它,那么您可以使用以下自定义方法:
function formatDate(dateStr) {
let date = new Date(dateStr);
let day = date.getDate();
let month = date.getMonth() + 1;
let year = date.getFullYear();
return day + '-' + month + '-' + year;
}
console.log(formatDate('1/11/2018 12:00:00 AM'));
答案 2 :(得分:0)
function convertDate(oldDate) {
var myDate = new Date(Date.parse(oldDate)); //String -> Timestamp -> Date object
var day = myDate.getDate(); //get day
var month = myDate.getMonth() + 1; //get month
var year = myDate.getFullYear(); //get Year (4 digits)
return pad(day,2) + "-" + pad(month, 2) + "-" + year; //pad is a function for adding leading zeros
}
function pad(num, size) { //function for adding leading zeros
var s = num + "";
while (s.length < size) s = "0" + s;
return s;
}
convertDate("1/11/2018 12:00:00 AM"); //11-01-2018