javascript-如何模拟时区?

纳吉·索尔特·洪

我有一个函数,可以计算给定时间戳在用户本地时区解析的日期(YYYY-MM-DD)。例如:2019-12-31T23:30:00.000Z解析为2020-01-01on UTC+1,但解析为2019-12-31on UTC-1

这是我的实现:

function calcLocalYyyyMmDd(dateStr) {
  const date = new Date(dateStr);
  const year = String(date.getFullYear()).padStart(4, "0");
  const month = String(date.getMonth() + 1).padStart(2, "0");
  const day = String(date.getDate()).padStart(2, "0");
  return `${year}-${month}-${day}`;
}

这按预期工作,但是,我想在单元测试中验证此行为(使用笑话,不确定是否相关)。

describe("calcLocalYyyyMmDd", () => {
  test("calculates correct date on UTC+1", () => {
    // TODO mock local timezone
    const result = calcLocalYyyyMmDd("2019-12-31T23:30:00.000Z");
    expect(result).toBe("2020-01-01");
  });

  test("calculates correct date on UTC-1", () => {
    // TODO mock local timezone
    const result = calcLocalYyyyMmDd("2020-01-01T00:30:00.000Z");
    expect(result).toBe("2019-12-31");
  });
});

如何模拟当地时区?

马特·约翰逊·品特

不幸的是,没有简单的方法可以做到这一点

但是,如果您使用的是Linux系统,则可以TZ启动浏览器启动Node.js之前设置环境变量,但是一旦进程运行,便无法更改时区。Date对象仅使用系统的本地时区。

请注意,由于时区实现的复杂性,该方法在Windows上不可靠。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何设置JavaScript日期的时区?

来自分类Dev

如何在JavaScript中更改时区?

来自分类Dev

如何使用javascript模拟div的点击

来自分类Dev

如何在javascript中模拟文件?

来自分类Dev

如何在JavaScript中模拟按键?

来自分类Dev

如何使用Selenium / Python模拟onclick(JavaScript)

来自分类Dev

如何在JavaScript中模拟NOR门?

来自分类Dev

如何在javascript中模拟click事件

来自分类Dev

如何使Javascript程序模拟鼠标单击?

来自分类Dev

如何使用 Jest 模拟本机 javascript 方法?

来自分类Dev

创建JavaScript日期时如何指定时区?

来自分类Dev

如何计算JavaScript中两个时区的时差?

来自分类Dev

如何使JavaScript Date.prototype.toString()始终显示本地时区

来自分类Dev

如何在Javascript中获取时区名称(PDT,EST等)?

来自分类Dev

javascript日期时区问题

来自分类Dev

JavaScript与时区的日期差异

来自分类Dev

DateTimePicker 转换时区,Javascript

来自分类Dev

如何在CSS / JavaScript中模拟实际尺寸

来自分类Dev

在javascript中模拟mouseclick时如何设置目标属性?

来自分类Dev

如何使用javascript模拟鼠标单击以及鼠标移动

来自分类Dev

如何在Jest中使用JavaScript模拟服务?

来自分类Dev

如何在JavaScript中模拟大文件以进行测试?

来自分类Dev

如何在javascript中模拟双峰分布?

来自分类Dev

发布JavaScript日期对象时如何保留时区偏移量?

来自分类常见问题

ISO 8601如何在JavaScript中格式化带时区偏移的日期?

来自分类Dev

如何在Javascript中获取浏览器的时区字符串?

来自分类Dev

javascript-如何在jQuery中按下键时区分键“ 5”和“%”?

来自分类Dev

如何在JavaScript中的不同时区中获取给定时间的本地时间

来自分类Dev

如何使用JavaScript中的时区检查打开到关闭时间是否已过去

Related 相关文章

  1. 1

    如何设置JavaScript日期的时区?

  2. 2

    如何在JavaScript中更改时区?

  3. 3

    如何使用javascript模拟div的点击

  4. 4

    如何在javascript中模拟文件?

  5. 5

    如何在JavaScript中模拟按键?

  6. 6

    如何使用Selenium / Python模拟onclick(JavaScript)

  7. 7

    如何在JavaScript中模拟NOR门?

  8. 8

    如何在javascript中模拟click事件

  9. 9

    如何使Javascript程序模拟鼠标单击?

  10. 10

    如何使用 Jest 模拟本机 javascript 方法?

  11. 11

    创建JavaScript日期时如何指定时区?

  12. 12

    如何计算JavaScript中两个时区的时差?

  13. 13

    如何使JavaScript Date.prototype.toString()始终显示本地时区

  14. 14

    如何在Javascript中获取时区名称(PDT,EST等)?

  15. 15

    javascript日期时区问题

  16. 16

    JavaScript与时区的日期差异

  17. 17

    DateTimePicker 转换时区,Javascript

  18. 18

    如何在CSS / JavaScript中模拟实际尺寸

  19. 19

    在javascript中模拟mouseclick时如何设置目标属性?

  20. 20

    如何使用javascript模拟鼠标单击以及鼠标移动

  21. 21

    如何在Jest中使用JavaScript模拟服务?

  22. 22

    如何在JavaScript中模拟大文件以进行测试?

  23. 23

    如何在javascript中模拟双峰分布?

  24. 24

    发布JavaScript日期对象时如何保留时区偏移量?

  25. 25

    ISO 8601如何在JavaScript中格式化带时区偏移的日期?

  26. 26

    如何在Javascript中获取浏览器的时区字符串?

  27. 27

    javascript-如何在jQuery中按下键时区分键“ 5”和“%”?

  28. 28

    如何在JavaScript中的不同时区中获取给定时间的本地时间

  29. 29

    如何使用JavaScript中的时区检查打开到关闭时间是否已过去

热门标签

归档