代碼如下:
var tableDateValue = [
new Date(new Date().getTime() - 3600 * 1000 * 24 * 8).toLocaleDateString('zh-Hans-CN').replace(/日/g, '').replace(/\/|年|月/g, '-'),
new Date(new Date().getTime() - 3600 * 1000 * 24 * 1).toLocaleDateString('zh-Hans-CN').replace(/日/g, '').replace(/\/|年|月/g, '-')
];
console.log(tableDateValue[0]);
console.log(tableDateValue[1]);
var params = {
startTime: specifyTime(tableDateValue[0]),
endTime: specifyTime(tableDateValue[1])
};
console.log(params);
function specifyTime(time) {
var arr = time.split('-');
console.log(arr);
console.log(typeof arr[1]);
console.log(arr[1]);
console.log(arr[1].length);
console.log(Number(arr[1]));
if (arr[1].length < 2 && Number(arr[1]) < 10) {
arr[1] = '0' + arr[1];
}
console.log(arr[1]);
if (arr[2].length < 2 && Number(arr[2]) < 10) {
arr[2] = '0' + arr[2];
}
return arr.join('-');
}
打印出來的arr[1].length 竟然是3 在IE9,IE10中的表現(xiàn)是正常的,為啥IE edge如此奇怪,求解~~
也是看了先前兩位的回答,有了思路,這樣轉(zhuǎn)化就是正常的了。。。。感謝大家提供的思路(自己驗(yàn)證了,沒有問題)
var tableDateValue = [
new Date(new Date().getTime() - 3600 * 1000 * 24 * 8).toLocaleDateString('zh-Hans-CN').replace(/日/g, '').replace(/\/|年|月/g, '-').replace(/[^\d-]/g,''),
new Date(new Date().getTime() - 3600 * 1000 * 24 * 1).toLocaleDateString('zh-Hans-CN').replace(/日/g, '').replace(/\/|年|月/g, '-').replace(/[^\d-]/g,'')
];
可能在IE11中toLocaleDateString()會(huì)出現(xiàn)問題
打印一下:
let str = tableDateValue[0]
for(var i=0;i<str.length;i++)console.log(i,str.charCodeAt(i),str.charAt(i))
這里有解決方案
toLocaleDateString().replace(/u200E/g,'')
試試能否解決你的問題
這個(gè)問題你在
toLocaleDateString('zh-Hans-CN').replace(/日/g, '').replace(/\/|年|月/g, '-')
的時(shí)候(兼容)就已經(jīng)出了問題了
中文打印出來的 xxxx年xx月xx日
ie edge下面打印出來的就已經(jīng)是15個(gè)字符長(zhǎng)度了,即時(shí)你最終替換成了 xxxx-xx-xx 后這個(gè)長(zhǎng)度還是保持不變的。
即使類型一樣,輸出的時(shí)候你感覺也一樣,但是你用
console.log(arr[1].charAt(0));
打印一下你就能看出來【0指向的是一個(gè)空白字符】【1指向的是9】【2指向的還是空白】
toLocaleDateString('en').replace(/[^ -~]/g,'').replace(/(\d)\/(\d)\/(\d{4})/g,"$3-$2-$1"),
這個(gè)親測(cè)是可以的
最主要的還是replace(/[^ -~]/g,'')
個(gè)人推薦你還是自己寫一個(gè)格式化時(shí)間的函數(shù)
補(bǔ)充一下,/[^ -~]/
很多人都問這個(gè)啥,這是正則表達(dá)式,匹配除了 [空格到~]之間的所有字符,這些字符你去看一下ASCII碼就知道了(本人上網(wǎng)查了一下,確實(shí)查不到[^ -~]
)
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問,美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。