如何创建日期时间输入显示日期,忽略客户端的区域设置?

时间:2016-04-15 11:56:22

标签: angularjs html5 datetime

我有<input type="datetime-local" ng-model="StartDateTime"/>。 如果客户端计算机上有 GMT + 3 并输入01.01.2016 03.00.00,则$scope.StartDateTime等于01.01.2016 00.00.00。我不喜欢它,我希望我的输入处理真正的$scope.StartDateTime值,忽略客户端的语言环境。我希望它显示真实的 UTC 日期和时间。我该如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:1)

喜欢这个。 https://plnkr.co/edit/dQEqJivih4i9joCbc54f?p=preview

var app = angular.module('myApp', []);

app.controller('DateCtrl', function($scope) {
  $scope.currentDate = new Date('01-01-2016 03:00:00');
});
<!DOCTYPE html>
<html ng-app="myApp">

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link rel="stylesheet" href="style.css" />
    <script data-require="angular.js@1.4.x" src="https://code.angularjs.org/1.4.9/angular.js" data-semver="1.4.9"></script>
    <script src="app.js"></script>
  </head>

  <body ng-controller="DateCtrl">
    <div>{{currentDate | date:'d MMMM yyyy' : 'UTC'}}</div>
     <div>{{currentDate | date:'d MMMM yyyy'}}</div>
  </body>

</html>