用 date-fns 替换时刻数据

replacing moment data with date-fns

我们正在从 moment 库迁移到我正在处理的项目中的 date-fns

我正在尝试找到一个解决方案来用 date-fns 替换它,但我没有成功:

          timezone: moment().format('Z')

如果我将其替换为:

          timezone: format(new Date(),'Z')

然后它不起作用。如果有人知道如何解决它,请告诉我。谢谢

可以这样做:

     timezone: format(new Date(),'XXX')

这可能对你有帮助,我在我的项目中改变时刻数据是这样的:

时刻数据:

  import moment, { Moment } from 'moment/moment';

  const DATE_FORMAT = 'YYYY-MM-DDTHH:mm:ss[Z]';

  moment().endOf('day').format(DATE_FORMAT);

  moment().subtract(13, 'days');

  moment().subtract(1, 'months');

  moment().subtract(1, 'years');

  moment().subtract(1, 'years').startOf('year');

  moment().endOf('year').format(DATE_FORMAT);

  function getStartDate(date: Moment): string {
    return date.startOf('day').format(DATE_FORMAT);
  }

date-fns数据:

  import { 
    endOfDay,
    endOfYear, 
    format,
    startOfDay,
    startOfYear, 
    subDays, 
    subMonths ,
    subYears } from 'date-fns';

  const DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'";

  format(endOfDay(new Date()), DATE_FORMAT);

  subDays(new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate())),
    13);

  subMonths(new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate())),
    1);

  subYears(new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate())),
    1);

  startOfYear(subYears(new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate())),
    1));


  format(endOfYear(new Date()), DATE_FORMAT);

  function getStartDate(date: Date): string {
     return format(startOfDay(date), DATE_FORMAT);
  }