我正在研究Angularjs项目,并希望根据用户选择的时区生成日期。经过大量研究,我发现了角矩。
我试图添加moment.js,moment-timezone.js,angular-moment.js
我添加了:
angular.module('main', [..., 'moment-picker', 'angularMoment']);
然后我像这样在我的服务中注入一点时间:
angular.module('main').service('UtilityServ', ['moment', 'CONSTANTS', function (moment, CONSTANTS) {
但以下任何行均无效:
moment().tz()
moment.tz()
在两种情况下,它都表示moment.tz不是函数,而:
moment().format('YYYY-MM-DD HH:MM')
工作正常
好像angularMoment使用的是矩,而不是矩的时区
答案 0 :(得分:1)
您可以按以下方式引用一下moment-timezone.js,
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.13/moment-timezone.min.js"></script>
演示
angular.module('ExampleApp', []).
controller('MainCtrl', function ($scope) {
console.log(moment.tz().format('YYYY-MM-DD HH:MM'));
});
body {
box-sizing: border-box;
width: 500px;
height: 100vh;
min-height: 100vh;
margin: 0;
padding: 15px;
}
input {
width: 100%;
}
<!DOCTYPE html>
<html ng-app="ExampleApp">
<head>
<title>Datetime range input UI element for AngularJS</title>
<link rel="stylesheet" type="text/css" href="dist/datetime-range.css">
<meta name="viewport" content="width=500,user-scalable=0">
</head>
<body ng-controller="MainCtrl">
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.min.js" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.13/moment-timezone.min.js"></script>
</body>
</html>