javascript - 如何模拟dayjs时区
问题描述
我有一个函数可以将格式的日期转换为格式2021-06-07T07:28:55.69725+00:00
的小时和分钟字符串07:28
export function getTime(dateTime: string) {
return dayjs(dateTime).format("HH:mm");
}
目前我位于 UTC+5,所以这个函数对参数的答案2021-06-07T07:28:55.69725+00:00
是12:28
. 我想测试函数的工作,但我需要模拟时区,以便在不同时区的机器上进行测试。我尝试了下一个代码,但它仍然返回12:28
。
import dayjs from "dayjs";
import timezone from 'dayjs/plugin/timezone';
dayjs.extend(timezone)
describe('Function getTime', () => {
beforeEach(() => {
dayjs.tz.setDefault('Europe/Moscow');
})
afterEach(() => {
dayjs.tz.setDefault();
})
it('should return time in format hh:mm', () => {
const dateTime = '2021-06-07T07:28:55.69725+00:00';
expect(getTime(dateTime)).toEqual('10:28');
})
})
解决方案
推荐阅读
- php - 发送到电子邮件的 HTML 表单
- angular - 如何将带有问号的查询参数从其他网站传递到angular 6 spa
- javascript - 从 State React-Native Javascript 获取数据
- algorithm - 胶囊 - 射线(线段)相交,2D
- java - 我试图自己解决问题,但没有得到任何好的结果,还附上了我的代码与问题
- ruby-on-rails - 如何在 Digital Ocean 上更改 Rails 应用程序环境?
- jquery - 使用 localstorage 保存的多个复选框值和一个“全选复选框”值
- java - 函数调用中arraylist的arraylist
- sql - Postgresql 轻松更新堆栈限制达到错误
- docker - 在 docker 上安装 openstack magnum