gpt4 book ai didi

javascript - 我如何要求 AngularJS 为时间戳格式化本地时间?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:05:24 24 4
gpt4 key购买 nike

我有一个双元素数组:第一个元素是一个字符串,第二个元素是自纪元以来的整数毫秒数。我可以显示整数毫秒数,但在尝试获取日期的区域设置字符串时出现错误。

导致时间戳显示为整数的两行代码是:

<div class='timestamp' ng-bind='monologues[session][1]'></div>
<div class='timestamp' ng-bind='new Date(monologues[session][1]).toLocaleString()'></div>

Chrome 错误控制台给出:

Error: [$parse:syntax] http://errors.angularjs.org/1.3.0-beta.3/$parse/syntax?p0=Date&p1=is%20an%20unexpected%20token&p2=5&p3=new%20Date(monologues%5Bsession%5D%5B1%5D).toLocaleString()&p4=Date(monologues%5Bsession%5D%5B1%5D).toLocaleString()
at Error (native)
at http://localhost:8000/media/js/angular.min.js:6:456
at $a.throwError (http://localhost:8000/media/js/angular.min.js:164:422)
at $a.parse (http://localhost:8000/media/js/angular.min.js:163:299)
at http://localhost:8000/media/js/angular.min.js:96:31
at k (http://localhost:8000/media/js/angular.min.js:102:163)
at g.$watch (http://localhost:8000/media/js/angular.min.js:103:321)
at http://localhost:8000/media/js/angular.min.js:188:247
at H (http://localhost:8000/media/js/angular.min.js:52:492)
at g (http://localhost:8000/media/js/angular.min.js:46:28) <div class="timestamp ng-binding" ng-bind="new Date(monologues[session][1]).toLocaleString()">

首先,我是否通过尝试绑定(bind)计算我想要显示的内容的 JavaScript 表达式来正确处理事情?

其次,我应该如何处理服务器(根据我的选择)给出整数毫秒数的情况,并且我想为用户显示相应的格式化区域设置时间?

最佳答案

使用 $watch

你可以在你的 Controller 中设置:

$scope.$watch('monologues', function() {
$scope.newProp = new Date($scope.monologues[$scope.session][1]).toLocaleString();
});

然后在你的 View 中使用它:

<div class='timestamp' ng-bind='newProp'></div>

使用过滤器

您还可以为此创建一个过滤器,如下所示:

myApp.filter('toLocale', function () {
return function (item) {
return new Date(item).toLocaleString()
};
});

并在 View 中使用它:

<div class='timestamp'>{{ monologues[session][1] | toLocale }}</div>

关于javascript - 我如何要求 AngularJS 为时间戳格式化本地时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24293339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com