Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度力矩:力矩时区没有美国/纽约的数据_Javascript_Angularjs_Timezone_Momentjs_Angular Moment - Fatal编程技术网

Javascript 角度力矩:力矩时区没有美国/纽约的数据

Javascript 角度力矩:力矩时区没有美国/纽约的数据,javascript,angularjs,timezone,momentjs,angular-moment,Javascript,Angularjs,Timezone,Momentjs,Angular Moment,从服务器接收到的日期位于UTC时区,我需要将其转换为特定时区,例如:America/New_York。以下是相同的代码 <span class="bold" ng-bind="sess.date_time | amTimezone:'America/New_York' | amDateFormat:'h:mm a'"></span> 但是美国/纽约是时刻的已知时区,但它仍然要求我添加时区。您需要加载以下所有内容: 瞬间 时刻时区 时刻时区的时区数据 角力矩 在主

从服务器接收到的日期位于
UTC
时区,我需要将其转换为特定时区,例如:
America/New_York
。以下是相同的代码

  <span class="bold" ng-bind="sess.date_time | amTimezone:'America/New_York' | amDateFormat:'h:mm a'"></span>

但是
美国/纽约
时刻
的已知时区,但它仍然要求我添加时区。

您需要加载以下所有内容:

  • 瞬间
  • 时刻时区
  • 时刻时区的时区数据
  • 角力矩
在主页上,有三种不同的时刻时区分布

  • 矩时区.js
    就是脚本。它不包含时区数据。如果您使用此分发版,您将按照文档中的描述,通过
    moment.tz.add
    moment.tz.load
    拉入自己的时区数据

  • moment timezone with data.js
    包括网站上提到的版本中的所有已知时区数据

  • moment-timezone-with-data-2012-2022.js
    包含相同的tz数据,但被截断为2012年至2022年。这是一个小得多的数据文件,对于大多数浏览器端应用程序来说已经足够了

每一种都有缩小版

因此,如果您得到
“美国/纽约的时刻时区没有数据”
,因为
美国/纽约
是一个有效的TZ数据库标识符,那么您就没有为它加载数据。您可能正在使用
矩时区.js
,而没有向其中添加数据。使用
矩.tz.add
包含时区数据,或者(更合适地)切换到已包含所有时区数据的文件之一


但是,不要两者都做。时区数据只应加载一次,而即时时区脚本只应加载一次。如果您使用
时刻时区with data.js
时刻时区with-data-2012-2022.js
,则不应使用
时刻时区.js
,因为该脚本已经包含在内。

在后端(express)中,我没有对时区数据“要求”js,而且它工作正常。可能是客户端,我们需要像您提到的那样明确地获取这些数据,我们会让您知道这是否有效。太好了!!成功了。“时刻时区0.4.0已经加载,没有任何数据”错误,然后仔细阅读您的答案,最后两行解开了谜团:)谢谢您的评论@AmanGupta。不要两者都用!(时区和数据)脚本,是这里学到的经验。根据“在Node.js中,所有数据都是预加载的。加载数据不需要额外的代码。”这就是您在服务器上开始使用的全部内容:
var moment=require('moment-timezone')
moment().tz(“美国/洛杉矶”).format()@JoshuaDyck是的,但问题是关于浏览器,而不是节点。
Moment Timezone has no data for America/New_York. See http://momentjs.com/timezone/docs/#/data-loading/.