首页 > 解决方案 > datefns 格式未完全格式化

问题描述

我正在使用 react 和 datefns。

我有以下代码

import { enUS, ja } from 'date-fns/locale';
import { format, isValid, parseISO } from 'date-fns';


export const getDateLocal = (locale?: string) => {
  switch (locale) {
    case 'ja':
      return ja;
    case 'en':
    default:
      return enUS;
  }
};

export const localizedDateFormatter = (
  date: Date | number | string,
  dateFormat = 'MMM dd',
  locale = 'en'
): string => {
  const dateIsIso = typeof date === 'string' ? isValid(parseISO(date)) : false;
  if (!date || (!dateIsIso && !isValid(date))) {
    return '-';
  }

  return format(new Date(date), dateFormat, { locale: getDateLocal(locale) });
};

我这样称呼这个函数

localizedDateFormatter(hoverFrom, 'MMM dd, yyyy', i18n.language) // can be ja or en

问题是,日期没有像我想要的那样转换。

ja: 12月 15, 2020 

en: Dec 15, 2020

虽然它应该是

ja: 2020年1月13日 (or at least 1月13日, 2020年)

en: Dec 15, 2020

为什么这样 ?

标签: javascriptdate-formatdate-fns

解决方案



推荐阅读