亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有辦法用小時替換今天的日期?

有沒有辦法用小時替換今天的日期?

智慧大石 2021-06-30 14:04:30
我正在構建這個從數據庫獲取文章的應用程序,其中 1 個字段是現在格式為“2019-06-13T18:03:58.000Z”的日期,基本上我需要做的是檢查這是否是今天的日期只返回小時和上午/下午所以對于這個例子是今天所以返回下午 18:03,如果日期與昨天相同,則返回“昨天”,如果日期不是這些,則返回“月,日”我試過創建 Date 對象然后比較,但沒有用我有這個 html 代碼:<div class='date-container'>        {{renderDate(data.created_at)}}    </div>并在 component.ts 文件中:public renderDate(date) {    const fecha = new Date(date);    const today = new Date();    const yesterday = today.getDate()-1;    let fecha_r = '';    if(fecha.getTime() == today.getTime()){      fecha_r = 'today';    }    return fecha_r;  }我需要在該函數中返回轉換后的日期,以便我的 html 代碼打印正確格式的日期,我該怎么做?
查看完整描述

3 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

您可以在組件中使用有角度的 DatePipe,并根據日期比較的結果返回轉換后的日期格式。


成分:


constructor(datePipe: DatePipe) {}


date = new Date();


//returns formatted date based on date comparison  

formatDay(date): string{

  let today = new Date()

  let yesterday = ( d => new Date(d.setDate(d.getDate()-1)) )(new Date);

    

  if(this.isSameDate(today, date))        

    return this.datePipe.transform(date,'hh:mm a');

  else if (this.isSameDate(yesterday, date))

    return 'Yesterday'

  else                                       

    return this.datePipe.transform(date,'MMMM d');

 }

//checks if two dates are identical

isSameDate(d1, d2){

   return d1.getDate() === d2.getDate() && d1.getMonth() === d2.getMonth() && d1.getFullYear() === d2.getFullYear();

}

模板:


{{formatDay(date)}}

你只需要import { DatePipe } from '@angular/common';在你的組件中添加DatePipe你的模塊:(app.module.ts 如果你沒有這個組件自己的模塊)


 providers: [DatePipe]

這是它的Stackblitz


查看完整回答
反對 回復 2021-07-01
  • 3 回答
  • 0 關注
  • 206 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號