📜  Moment.js moment().from()函数(1)

📅  最后修改于: 2023-12-03 15:32:55.985000             🧑  作者: Mango

Moment.js moment().from()函数

moment().from() 是 Moment.js 的一个函数,它用于计算给定日期与当前日期之间的时间差,并将其显示为相对时间。具体来说,它会显示现在距离给定日期过去了多久,或者距离未来的某个日期还有多久。

用法
moment("2022-01-01").fromNow(); // "in 1 year"
moment("2021-12-31").fromNow(); // "in 11 months"
moment("2021-12-31 12:00:00").fromNow(); // "in 11 months"
moment().subtract(10, 'days').fromNow(); // "10 days ago"
moment().subtract(1, 'month').fromNow(); // "1 month ago"

moment().fromNow() 接受一个可选参数,表示将日期相对于哪个日期。(默认为当前日期)

moment("2021-12-31").from("2020-12-31"); // "in 365 days"
支持的时间单位

moment().from() 计算的时间差精确到毫秒,但通常用到的只是其中的某一部分,例如“1天前”、“2小时前”、“5分钟前”等。以下是 moment.js 支持的时间单位。

  • "now"
  • "second"
  • "seconds"
  • "minute"
  • "minutes"
  • "hour"
  • "hours"
  • "day"
  • "days"
  • "week"
  • "weeks"
  • "month"
  • "months"
  • "year"
  • "years"
moment().startOf('hour').fromNow(); // "32 minutes ago"
自定义参数

moment.duration() 可以自定义参数,以显示指定时间单位的时间差。例如,下面的代码计算给定日期距离当前时间的小时数,保留一位小数,并指定了自定义前缀和后缀。

var duration = moment.duration(moment("2021-12-31").diff(moment()));
var hours = duration.asHours().toFixed(1);
var prefix = hours > 0 ? "in " : "";
var suffix = hours > 0 ? "" : " ago";
prefix + hours + " hours" + suffix; // "in 8760.0 hours"
总结

moment().from() 是一个非常有用的函数,可以让我们方便地计算给定日期与当前日期之间的相对时间。它支持多种时间单位,可以自定义参数,并且易于集成到任何 Moment.js 项目中。