Imr*_*ran 2 javascript firefox jquery date jquery-plugins
我有一个div的日期,看起来像"2013年4月30日",我想将其转换为:30周二APR | 2013
我已经写了一些代码来为我做这个转换.它在Chrome中运行良好,但有些如何在Firefox和firebug控制台中无法工作:日期{Invalid Date}并显示输出看起来像NaN undefined undefined | NaN的.我的代码看起来在下面,或者你也可以看到这个小提琴:
(function ( $ ) {
$.fn.bcDateModify = function() {
return this.each(function() {
var obj = this;
var srcDate= $(obj).html();
srcDate = srcDate.replace(/\s+/g, '');
objDate = new Date(srcDate);
console.log(objDate);
var newDate = objDate.getDate();
var newDay = objDate.getDay();
var newMonth = objDate.getMonth();
var newYear = objDate.getFullYear();
var weekday=new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
var monthNames=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var myhtml ='<div class="date"><span>'+newDate+'</span></div><div class="month-day"><h3>'+weekday[newDay]+'</h3><span>'+monthNames[newMonth]+' | '+newYear+'</span></div>';
$(obj).html(myhtml);
});
};
}( jQuery ));
$(document).ready(function(){
$('.date-obj').bcDateModify();
});
Run Code Online (Sandbox Code Playgroud)
你无法按照自己的方式构建日期(至少在Firefox中你不能),例如传入字符串"22-Jul-2013".
我换了这条线
objDate = new Date(srcDate);
Run Code Online (Sandbox Code Playgroud)
至
var dateSplit = srcDate.split("-");
objDate = new Date(dateSplit[1] + " " + dateSplit[0] + ", " + dateSplit[2]);
Run Code Online (Sandbox Code Playgroud)
确保正确构建日期.
请在此处查看更新的小提琴.
| 归档时间: |
|
| 查看次数: |
6820 次 |
| 最近记录: |