你能在 dayjs 中使用 .format() 和 .form()
Can you use .format() and .form() with dayjs
我正在做一个 Angular 8+ 项目(所以我使用的是 Typscript),我有一个 table 和一些数据,我需要显示两个日期之间的时间差对于每一行。在我使用 Dayjs 的项目中。
一开始我用的是这个功能:
calculateDelay(alertDate: string, operationDate: string): string {
if (alertDate && operationDate) {
return dayjs(alertDate).from(operationDate, true);
}
}
它 return 像这样编辑数据 (2 days
- 2 years
- one day
....)
但是这个代码有一个问题,当有一个 1(年份或其他日期)时,它是用文本而不是数字写的,我只想要数字。
(该函数应该 return 一个字符串,但我想要这种格式 1 year
而不是 one year
)。
所以我尝试了这个
calculateDelay(alertDate: string, operationDate: string): string {
if (alertDate && operationDate) {
const date: string = dayjs(alertDate).from(operationDate, true);
const [value, unit]: string[] = date.split(" ");
return isNaN(+value) ? "1 " + unit : value + " " + unit;
}
}
(isNaN 来自 loadash)
它运行良好但有一个问题...第一个函数的第二个输出是 some seconds
所以我的新代码 return 1 seconds
有语法错误(因为只有一秒钟)。
我知道有一个方法叫 .format()
with day js 但我不知道如何正确使用它,因为格式不是很固定(我想要月、年、可能相关的分钟数)。
有人能帮帮我吗?
另外我想避免自定义解析和删除字符串末尾无用的 s(如果可能的话)。
提前致谢
在我调查存储库时,您可以使用插件 UpdateLocale 并覆盖默认配置。有一个例子给你。
DayJs locale override
我正在做一个 Angular 8+ 项目(所以我使用的是 Typscript),我有一个 table 和一些数据,我需要显示两个日期之间的时间差对于每一行。在我使用 Dayjs 的项目中。
一开始我用的是这个功能:
calculateDelay(alertDate: string, operationDate: string): string {
if (alertDate && operationDate) {
return dayjs(alertDate).from(operationDate, true);
}
}
它 return 像这样编辑数据 (2 days
- 2 years
- one day
....)
但是这个代码有一个问题,当有一个 1(年份或其他日期)时,它是用文本而不是数字写的,我只想要数字。
(该函数应该 return 一个字符串,但我想要这种格式 1 year
而不是 one year
)。
所以我尝试了这个
calculateDelay(alertDate: string, operationDate: string): string {
if (alertDate && operationDate) {
const date: string = dayjs(alertDate).from(operationDate, true);
const [value, unit]: string[] = date.split(" ");
return isNaN(+value) ? "1 " + unit : value + " " + unit;
}
}
(isNaN 来自 loadash)
它运行良好但有一个问题...第一个函数的第二个输出是 some seconds
所以我的新代码 return 1 seconds
有语法错误(因为只有一秒钟)。
我知道有一个方法叫 .format()
with day js 但我不知道如何正确使用它,因为格式不是很固定(我想要月、年、可能相关的分钟数)。
有人能帮帮我吗?
另外我想避免自定义解析和删除字符串末尾无用的 s(如果可能的话)。
提前致谢
在我调查存储库时,您可以使用插件 UpdateLocale 并覆盖默认配置。有一个例子给你。 DayJs locale override