带有时区的嘲笑时刻格式

问题描述

我正在测试一种服务,该服务可以根据时区格式化日期,它可以正常工作,但是当我运行测试时,却收到错误消息: moment_timezone_1.default(...).utcOffset(...).format is not a function

我已经尝试使用在StackOverflow中看到的不同方法进行开发,但是它们都不起作用,错误消息会更改(例如,拆分不是函数)。

我该怎么做才能恰当地模拟我的案子时刻,或者在不嘲笑的情况下使用该时刻,但显然可以工作?

这是给出错误的函数:


export function formatTimezone(date,timezone = '+00:00',format = '') {
    return moment(date)
        .utcOffset(timezone)
        .format(format);
}

解决方法

根据the docs utcOffset(timezone),如果不提供任何参数,则返回偏移量(一个数字)。提供null时似乎也可以这样做-见下文。

console.log(moment().utcOffset(0).format())
console.log(moment().utcOffset(null).format())
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.27.0/moment.min.js"></script>

您需要先验证时区输入,以确保utcOffset在返回.format()之前没有返回数字。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...