摘要:上顯示出來時(shí)間本地系統(tǒng)顯示時(shí)間發(fā)送前控制臺(tái)打印出來瀏覽器網(wǎng)絡(luò)中監(jiān)測(cè)顯示解決方案只有在發(fā)送時(shí)間類型的數(shù)據(jù)時(shí)會(huì)進(jìn)行轉(zhuǎn)換,導(dǎo)致相差個(gè)小時(shí),但是我發(fā)送前就將其轉(zhuǎn)換成字符串,就不會(huì)造成這樣的結(jié)果了。
創(chuàng)建時(shí)間
使用new Date(),可以看見有5種構(gòu)造函數(shù)
console.log(new Date()); // 當(dāng)前時(shí)間 console.log(new Date("2015-08-12 12:30"));// 字符串 console.log(new Date(12345679));//時(shí)間戳 console.log(new Date(2018, 3, 20, 12, 30));//指定年月日等
如果要?jiǎng)?chuàng)建一個(gè)時(shí)間為當(dāng)日的日期不包含時(shí)間的值
console.log(new Date(new Date().toLocaleDateString()));時(shí)間計(jì)算
通??梢赞D(zhuǎn)換成時(shí)間戳的方式進(jìn)行計(jì)算
const endTime = new Date(new Date().toLocaleDateString()); let d = endTime.valueOf(); // 時(shí)間戳 d -= 7 * 24 * 60 * 60 * 1000; const startTime = new Date(d); console.log(startTime); console.log(endTime); console.log(d);時(shí)間轉(zhuǎn)換
console.log(new Date().toTimeString()); console.log(new Date().toLocaleDateString()); console.log(new Date().toDateString()); console.log(new Date().getTime());Angular 自帶的時(shí)間管道
第三方插件現(xiàn)在的時(shí)間是{{today | date:"yyyy-MM-dd HH:mm:ss"}}
moment.js
這是一個(gè)很強(qiáng)大的時(shí)間插件,這里用一個(gè)應(yīng)用場(chǎng)景來演示。
nodejs上的時(shí)間和我本地的時(shí)間總是相差8個(gè)小時(shí),這導(dǎo)致我每次發(fā)送時(shí)間到后臺(tái)時(shí),nodejs將時(shí)間轉(zhuǎn)化成字符串傳送出去的時(shí)候總是和我服務(wù)器上的時(shí)間相差8小時(shí)。
node上顯示出來時(shí)間
本地系統(tǒng)顯示時(shí)間
發(fā)送前控制臺(tái)打印出來
瀏覽器網(wǎng)絡(luò)中監(jiān)測(cè)顯示
解決方案
nodejs只有在發(fā)送時(shí)間類型的數(shù)據(jù)時(shí)會(huì)進(jìn)行轉(zhuǎn)換,導(dǎo)致相差8個(gè)小時(shí),但是我發(fā)送前就將其轉(zhuǎn)換成字符串,就不會(huì)造成這樣的結(jié)果了。
所以對(duì)angular的http進(jìn)行封裝,在發(fā)送前將body中的時(shí)間類型轉(zhuǎn)換成字符串類型
post(url: string, body?: any, params?: any,headers?:any) { this.begin(); return this.http .post(url, this.parseBody(body) || null, { headers:this.parseHeaders(headers), params: this.parseParams(params) }) } parseBody(body: any) { if (body) { for (const key in body) { if (body[key]) { const _data = body[key]; // 將時(shí)間轉(zhuǎn)化為字符串 if (moment.isDate(_data)) { body[key] = moment(_data).format("YYYY-MM-DD HH:mm:ss"); } } } } return body; }
其中用到了moment.js 的兩個(gè)方法,一個(gè)時(shí)判斷是否時(shí)時(shí)間類型moment.isDate(_data)另一個(gè)時(shí)轉(zhuǎn)換成字符串moment(_data).format("YYYY-MM-DD HH:mm:ss");
關(guān)于更多用法可以參考官網(wǎng)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/94154.html
摘要:是文檔的一種表示結(jié)構(gòu)。這些任務(wù)大部分都是基于它。這個(gè)實(shí)踐的重點(diǎn)是把你在前端練級(jí)攻略第部分中學(xué)到的一些東西和結(jié)合起來。一旦你進(jìn)入框架部分,你將更好地理解并使用它們。到目前為止,你一直在使用進(jìn)行操作。它是在前端系統(tǒng)像今天這樣復(fù)雜之前編寫的。 本文是 前端練級(jí)攻略 第二部分,第一部分請(qǐng)看下面: 前端練級(jí)攻略(第一部分) 在第二部分,我們將重點(diǎn)學(xué)習(xí) JavaScript 作為一種獨(dú)立的語(yǔ)言,如...
摘要:對(duì)于前端,有時(shí)候需要實(shí)現(xiàn)視圖層和數(shù)據(jù)層的雙向綁定例如當(dāng)前流行的各種框架和類庫(kù)。為代表前端數(shù)據(jù)劫持。參考資料實(shí)現(xiàn)數(shù)據(jù)雙向綁定的三種方式談?wù)勚械碾p向數(shù)據(jù)綁定非常簡(jiǎn)單的雙向數(shù)據(jù)綁定框架三 對(duì)于前端,有時(shí)候需要實(shí)現(xiàn)視圖層和數(shù)據(jù)層的雙向綁定(two-way-binding), 例如當(dāng)前流行的各種框架和類庫(kù):Vue.js、Angular.js、React.js。 然而,他們最原始的實(shí)現(xiàn)方式其實(shí)都相...
摘要:今年月份,官方發(fā)布了新版,新版本的特性已經(jīng)有很多文章了,在此不一一贅述。組件是系統(tǒng)中最重要的基本構(gòu)造塊之一。但是由于目前不支持裝飾器語(yǔ)法,因此通過方法完成這一工作。本文主要是提供一個(gè)基于的,如有問題,歡迎留言探討。 原文發(fā)表于本人的個(gè)人博客,地址:Angular4的QuickStart——With ES6 Not TypeScript,歡迎反饋探討。 今年3月份,Angular官方發(fā)布...
摘要:這里呢,我直接給出高并發(fā)場(chǎng)景通常都會(huì)考慮的一些解決思路和手段結(jié)尾如何有效的準(zhǔn)備面試中并發(fā)類問題,我已經(jīng)給出我的理解。 showImg(https://segmentfault.com/img/bV7Viy?w=550&h=405); 主題 又到面試季了,從群里,看到許多同學(xué)分享了自己的面試題目,我也抽空在網(wǎng)上搜索了一些許多公司使用的面試題,目前校招和社招的面試題基本都集中在幾個(gè)大方向上...
摘要:由于系統(tǒng)變得越來越復(fù)雜,人們提出了稱為預(yù)處理器和后處理器的工具來管理復(fù)雜性。后處理器在由預(yù)處理器手寫或編譯后對(duì)應(yīng)用更改。我之前建議的文章,,也涵蓋了預(yù)處理器相關(guān)的知識(shí)。 譯者:前端小智 原文:medium.freecodecamp.org/from-zero-t… medium.freecodecamp.org/from-zero-t… 我記得我剛開始學(xué)習(xí)前端開發(fā)的時(shí)候。我看到了很多文章及...
閱讀 2250·2023-04-25 19:06
閱讀 1448·2021-11-17 09:33
閱讀 1848·2019-08-30 15:53
閱讀 2658·2019-08-30 14:20
閱讀 3610·2019-08-29 12:58
閱讀 3615·2019-08-26 13:27
閱讀 578·2019-08-26 12:23
閱讀 552·2019-08-26 12:22