带有 Javascript 的 Twitter 风格时间前格式(“2h”)

Twitter-style time-ago formatting ("2h") with Javascript

Timeago.js 在相对于当前时间 ("about 2 hours ago") 格式化时间戳方面做得很好。

是否有任何解决方案可以完成同样的事情,但简化了? IE“2h”,就像 Twitter 使用的那样。

您可以使用 Timeago.js 并用缩写版本覆盖本地时间格式,例如

var locale = function(number, index, total_sec) {
  return [
    ['just now', 'right now'],
    ['%s s ago', 'in %s s'],
    ['1 m ago', 'in 1 m'],
    ['%s m ago', 'in %s m'],
    ['1 h ago', 'in 1 h'],
    ['%s h ago', 'in %s h'],
    ....
  ][index];
};

timeago.register('pt_ABBR', locale);
var timeagoInstance = timeago();

// then you can use it
timeagoInstance.format(1473245023718, 'pt_ABBR');

在 timeago.js 中,您可以简单地将 "strings" 哈希替换为 "strings" 哈希:https://github.com/rmm5t/jquery-timeago/blob/master/locales/jquery.timeago.en-short.js

  jQuery.timeago.settings.strings = {
    prefixAgo: null,
    prefixFromNow: null,
    suffixAgo: "",
    suffixFromNow: "",
    seconds: "1m",
    minute: "1m",
    minutes: "%dm",
    hour: "1h",
    hours: "%dh",
    day: "1d",
    days: "%dd",
    month: "1mo",
    months: "%dmo",
    year: "1yr",
    years: "%dyr",
    wordSeparator: " ",
    numbers: []
  };