javascript - 基于设置格式的两个日期之间的差异
问题描述
const formatChatDate = (chatDate) => {
// round to the nearest whole number
const dt = Moment(chatDate).format('MMMM Do YYYY, h:mm:ss a'); // March 9th 2021, 7:16:16 pm;
const dtNow = Moment(new Date()).format('MMMM Do YYYY, h:mm:ss a'); // March 9th 2021, 7:16:16 pm;
const diffDate= Math.round((dt-dtNow)/(1000*60*60*24));
if(diffDate.diff(dt,'days')<1){
return dt.format("LT");
}else{
return dt.format("LLL");
}
};
我需要计算两个日期和昨天聊天之间的差异,它看起来像 ll 格式和当前日期 lt 格式
我需要设置 11.59pm 表示 ll 格式和 12pm 表示 lt 格式..chatdate 表示最后一条消息日期,dtnow 表示当前日期
解决方案
为什么不使用时刻diff
来计算日期之间的差异?就像是:
const formatChatDate = (chatDate) => {
const dt = moment(chatDate);
const dtNow = Moment(new Date());
if(dtNow.diff(dt,'days') < 1){
return dt.format("LT");
} else {
return dt.format("LLL");
}
};
推荐阅读
- php - 如何使用 Wordpress 元框保存多个文本框
- python - 如何运行多个函数并创建一个列表?
- ballerina - 如何为芭蕾舞演员设置 http 代理?
- java - 创建 AnnotationActionEndpointMapping bean 时出错
- spring - Spring + Swagger:多部分形式
- java - 如何判断一个单词是否以元音开头
- angular - reactive forms setValidator and updateOn
- java - 无法将所有数据写入 dynamodb 表?
- api - Python API requests.post 和长字符串
- java - 运行时报告负内存使用情况