是否有可能做这样的事情:日期字符串到新的日期()JavaScript的
var parsedDate = new Date("20120830", "yyyyMMdd");
我需要的日期字符串这是格式为yyyymmdd 20120830转换为“30/08/2012”
是否有可能做这样的事情:日期字符串到新的日期()JavaScript的
var parsedDate = new Date("20120830", "yyyyMMdd");
我需要的日期字符串这是格式为yyyymmdd 20120830转换为“30/08/2012”
Date(dateString)构造函数不接受自定义日期格式(某些浏览器实现了一些替代格式,但出于兼容性原因应避免使用这些格式)。但也有替代构造函数日期(年,月,日)和日期格式很容易与切片分割。但要小心:月份是基于零的,而不是一个基于的。因此,二月是00和十二月份为11
这个片段可以帮助你:
var expired = new Date();
'2012-12-12 08:08'.replace(/(\d{4})-(\d{2})-(\d{2}).*/im, function(str, $1, $2, $3){
expired.setFullYear($1, $2-1, $3);
});
console.log(expired);
贝娄是一个基于Java的日期格式简单,便携和纯JS实现:
function date_format(d, p) {
var pad = function (n, l) {
for (n = String(n), l -= n.length; --l >= 0; n = '0'+n);
return n;
};
var tz = function (n, s) {
return ((n<0)?'+':'-')+pad(Math.abs(n/60),2)+s+pad(Math.abs(n%60),2);
};
return p.replace(/([DdFHhKkMmSsyZ])\1*|'[^']*'|"[^"]*"/g, function (m) {
l = m.length;
switch (m.charAt(0)) {
case 'D': return pad(d.getDayOfYear(), l);
case 'd': return pad(d.getDate(), l);
case 'F': return pad(d.getDayOfWeek(i18n), l);
case 'H': return pad(d.getHours(), l);
case 'h': return pad(d.getHours() % 12 || 12, l);
case 'K': return pad(d.getHours() % 12, l);
case 'k': return pad(d.getHours() || 24, l);
case 'M': return pad(d.getMonth() + 1, l);
case 'm': return pad(d.getMinutes(), l);
case 'S': return pad(d.getMilliseconds(), l);
case 's': return pad(d.getSeconds(), l);
case 'y': return (l == 2) ? String(d.getFullYear()).substr(2) : pad(d.getFullYear(), l);
case 'Z': return tz(d.getTimezoneOffset(), ' ');
case "'":
case '"': return m.substr(1, l - 2);
default: throw new Error('Illegal pattern');
}
});
};
console.log(date_format(new Date(), 'yyyy.mm.dd kk:MM:ss Z'));
console.log(date_format(new Date(), 'MM/dd/yyyy HH:mm:ss'));
以上代码是基于http://llamalab.com/js/date/Date.js(LGPL)
和你的宗教禁止你做'x.slice(6)+“/”+ x.slice(4,6)+“/”+ x.slice(0,4)'? – 6502
查看http://stackoverflow.com/questions/1258310/simplest-way-to-parse-a-date-in-javascript – James
你是先生,我的救世主:))谢谢+1 –