Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript momentjs具有两种不同的fromNow()格式_Javascript_Reactjs_Momentjs - Fatal编程技术网

Javascript momentjs具有两种不同的fromNow()格式

Javascript momentjs具有两种不同的fromNow()格式,javascript,reactjs,momentjs,Javascript,Reactjs,Momentjs,我正在尝试获取两种不同类型的relativeTime 在一个文件中,我有: moment.updateLocale('en', { relativeTime: { future: 'in %s', past: '%s ago', s: 'secs', ss: '%ss', m: 'a min', mm: '%dm', h: '1h', hh: '%dh', d: 'a day', dd: '%dd', M: 'month', MM: '%

我正在尝试获取两种不同类型的
relativeTime

在一个文件中,我有:

moment.updateLocale('en', { relativeTime: {
  future: 'in %s',
  past: '%s ago',
  s:  'secs',
  ss: '%ss',
  m:  'a min',
  mm: '%dm',
  h:  '1h',
  hh: '%dh',
  d:  'a day',
  dd: '%dd',
  M:  'month',
  MM: '%dM',
  y:  'year',
  yy: '%dY'
}});

time.utc(date).fromNow()

但这将全局应用于所有使用矩的情况,我希望此文件以外的其他使用矩的情况使用常规的较长文本格式,用于
fromNow()

我试过:

let g = moment()
g.updateLocale('en', { relativeTime: {
...
但是它给出了错误。UpdateScale不是一个函数

有人知道如何为
fromNow()
日期格式设置两种不同的
relativeTime
设置吗


谢谢

诚然,这不一定是最优雅的解决方案,但在您使用的一个文件中,您可以使用自定义区域设置格式:

  • relativeTime
    的当前(原始默认)格式保存到对象
  • 将区域设置的
    相对时间
    格式全局设置为自定义格式
  • 执行所有需要执行的
    时刻
    日期/字符串操作
  • 通过将区域设置的
    relativeTime
    格式全局设置回保存的对象,恢复原始默认格式
  • 它看起来是这样的:

    const CONFIG_ORIG = moment().locale("en").localeData()._relativeTime;
    const CONFIG_NEW = {
      future: "in %s",
      past: "%s ago",
      s: "secs",
      ss: "%ss",
      m: "a min",
      mm: "%dm",
      h: "1h",
      hh: "%dh",
      d: "a day",
      dd: "%dd",
      M: "month",
      MM: "%dM",
      y: "year",
      yy: "%dY"
    };
    
    const DATE = new Date();
    
    // Original format displays: "a few seconds ago"
    const string1 = moment.utc(DATE).fromNow();
    
    moment.updateLocale("en", { relativeTime: CONFIG_NEW });
    // Custom format displays: "secs ago"
    const string2 = moment.utc(DATE).fromNow();
    
    moment.updateLocale("en", { relativeTime: CONFIG_ORIG });
    // Restored original format displays: "a few seconds ago"
    const string3 = moment.utc(DATE).fromNow();
    
    下面是一个代码沙盒,它显示了这一点:


    额外资源:


    您好,您是否找到了解决方案,我觉得第一个答案对我没有帮助。