gpt4 book ai didi

javascript - 有没有办法将今天的日期替换为小时?

转载 作者:行者123 更新时间:2023-11-29 16:31:21 24 4
gpt4 key购买 nike

我正在构建这个应用程序,它从数据库获取文章,其中 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 代码打印正确的格式化日期,我该如何执行此操作?

最佳答案

您可以在组件中使用 Angular 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其中

关于javascript - 有没有办法将今天的日期替换为小时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56589757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com