我想知道是否有任何方法可以从日期字符串中提取日期格式。如何从日期字符串通过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