You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Day.js将America/New_York时区数据转换为Asia/Calcutta时区

使用Day.js实现America/New_York到Asia/Calcutta时区转换

Day.js默认不支持时区处理,需要借助官方的utc和timezone插件完成转换,具体操作步骤如下:

1. 安装依赖

先安装Day.js核心库:

npm install dayjs

2. 导入并启用插件

在代码中导入所需插件并启用:

const dayjs = require('dayjs');
const utc = require('dayjs/plugin/utc');
const timezone = require('dayjs/plugin/timezone');

dayjs.extend(utc);
dayjs.extend(timezone);

3. 执行时区转换

根据你接收数据的类型,分两种场景处理:

场景1:接收的是纽约时区的时间字符串

直接解析为纽约时区的Day.js实例,再转换到加尔各答时区:

// 解析纽约时区时间
const nyTime = dayjs.tz('2024-05-20 14:30:00', 'America/New_York');
// 转换为加尔各答时区
const calcuttaTime = nyTime.tz('Asia/Calcutta');

// 自定义格式输出转换结果
console.log(calcuttaTime.format('YYYY-MM-DD HH:mm:ss'));

场景2:接收的是原生Date对象

先将Date对象识别为纽约时区时间,再执行转换:

// 假设date是接收到的Date对象
const date = new Date();
// 转为纽约时区的Day.js实例
const nyTime = dayjs(date).tz('America/New_York');
// 转换为加尔各答时区
const calcuttaTime = nyTime.tz('Asia/Calcutta');

console.log(calcuttaTime.format('YYYY-MM-DD HH:mm:ss'));

关键注意点

  • 必须同时启用utc和timezone插件,二者缺一不可
  • 时区标识符要使用IANA标准名称(如America/New_York、Asia/Calcutta),避免使用EST、IST这类易歧义的缩写

内容的提问来源于stack exchange,提问作者ArtBindu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 14:14:50