我想知道是否有任何方法可以從日期字符串中提取日期格式。如何從日期字符串通過jquery或javascript提取日期格式
例如假設我們有一個日期字符串,如「星期三,2015年9月23日 - 20:15」
毫無疑問,這表達的是,通過格式格式化字符串的日期對象模式。
我需要一個方法可以告訴我什麼是格式模式。
我想知道是否有任何方法可以從日期字符串中提取日期格式。如何從日期字符串通過jquery或javascript提取日期格式
例如假設我們有一個日期字符串,如「星期三,2015年9月23日 - 20:15」
毫無疑問,這表達的是,通過格式格式化字符串的日期對象模式。
我需要一個方法可以告訴我什麼是格式模式。
所以Date.parse()做了一些很酷的事情,但它看起來不像它的日期字符串。如果你知道它將始終是這種格式,你可以使用正則表達式!
你仍然需要知道你自己的格式是什麼。在你的情況下,你有DDD, MM/DD/YYYY - HH:mm
或類似的東西。一個匹配的正則表達式是:\D*(\d+)/(\d+)/(\d+)\D+(\d+):(\d+)
所以你需要對一個字符串運行它,然後獲取結果並把它放到一個新的Date()中。這裏有一個完整的示例:
var rgx = /\D*(\d+)\/(\d+)\/(\d+)\D+(\d+):(\d+)/gi;
var str = "Wed, 09/23/2015 - 20:15";
var matches = rgx.exec(str);
console.log(matches);
/*
[ 'Wed, 09/23/2015 - 20:15',
'09',
'23',
'2015',
'20',
'15',
index: 0,
input: 'Wed, 09/23/2015 - 20:15' ]
*/
// new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);
var myDate = new Date(matches[3], matches[1], matches[2], matches[4], matches[5]);
console.log(myDate);
// Fri Oct 23 2015 20:15:00 GMT-0700 (Pacific Daylight Time)
你也許可以找到一個圖書館,在那裏,將採取隨機日期格式字符串(即DDD, MM/DD/YYYY - HH:mm
),併爲您創建一個新的Date對象,但我一直猶豫像這樣的圖書館引入像我上面所做的那樣簡單的事情。
你知道,它是動態的,在這個例子中參數是」Wed,09/23/2015 - 20: 15「,但可能參數是」09/23/2015「,所以方法必須給我們其他日期格式作爲返回值,因此我認爲我們不能使用一個常量正則表達式 您的想法是什麼? – Mehrdad201
您需要一套正則表達式對於你期望的模式類型可能是這樣的,所以你可以先匹配它,如果它匹配,那麼你就可以執行它,你給出的第二個日期實際上可以和Date.parse()一起工作。並且容易出錯,所以你的主要努力應該試圖鎖定哪些日期格式是允許的。如果這是用戶輸入,只需提供一個日期選擇器或讓他們選擇一種格式。 –
你是什麼意思的「日期格式」?你只想得到'09/23/2015 /'嗎?或者你想要一個日期對象?不知道你想要什麼。並且你想使用JavaScript嗎? –
我的意思是,例如,您使用「Y-M-D」格式化日期到日期字符串,如「2015-10-20」。現在我想給「2015-10-20」方法作爲參數,方法返回「YMD作爲格式模式 – Mehrdad201