1 回答

TA貢獻1820條經驗 獲得超9個贊
這就是我想出的 - 沒有圖書館:
var dateString = "Monday 21st September 2020";
var dayOfMonth, month, year;
[, dayOfMonth, month, year] = dateString.split(" ");
var date = new Date([dayOfMonth.match(/\d*/)[0], month, year]);
console.log("date:\n" + date);
這個想法是使用析構函數將日期字符串分成 4 個部分,并忽略第一個(星期幾)。
使用正則表達式從月份中的第幾天(使用 st/nd/rd/th)提取數字。
把事情放回一個新的日期。
并作為一個功能:
function dateStringToDate(dateString) {
var dayOfMonth, month, year;
[, dayOfMonth, month, year] = dateString.split(" ");
return new Date([dayOfMonth.match(/\d*/)[0], month, year]);
}
var dates = [
"Monday 21st September 2020",
"Erich_K?stner 35th May 1931",
"Someday 2nd October 1967"
];
for(var d = 0; d < dates.length; d++) {
console.log(dates[d]+":\n" + dateStringToDate(dates[d]));
}
.as-console-wrapper { max-height: 100% !important; top: 0; }
添加回答
舉報