格式化数据库存储的角度日期

时间:2015-03-20 09:45:17

标签: javascript angularjs angular-ui

提前谢谢

Q.1

我想格式化Angular-UI Bootstrap日期和时间选择器。每当我更改时间或日期时,输出的方式如下Today is: "2015-03-19T22:00:00.000Z"。显然这是正确的。我的Node-Mysql填充了此日期格式

更多的是bizzar是在日期减去1天,在它减去2小时的时间。我的时区为GMT + 2,请参阅MyBin

当我再次点击日期进行更改时,我希望日期保持为2015-03-20,时间为11:20

Q.2

如何正确验证以下内容

<form name="BookingForm" ng-repeat="adult in myAdults">
 <h4>Adults</h4>
 <p>
    <input  required
    ng-required="true"
    name="adultName"
    ng-model="adultItem.name"
    type="text"
    class="form-control"
    ng-minlength = 3
    placeholder="Name">
<div class="error" ng-show="BookingForm.adultName.$dirty && BookingForm.adultName.$invalid">
    <small class="error btn-danger"
        ng-show="BookingForm.adultName.$error.required">
                Your name is required.
    </small>
    <small class="error btn-danger"
          ng-show="BookingForm.adultName.$error.minlength">
         Your name is required to be at least 3 characters
     </small>
 </div>
 </p>
</form>

我的js看起来像这样

$scope.adults = 4;
$scope.children = 2;
$scope.myAdults = [];

for (i = 0; i < $scope.adults; i ++) {
  $scope.myAdults.push({});
}

如果我只有一个表格,它可以正常工作。但是,如果我有多个验证消息只显示在最后一个。

最重要的是Q1

再次感谢你。

1 个答案:

答案 0 :(得分:0)

datepicker正在使用angularjs date过滤器并且它已经过本地化但返回的值是GMT,所以2015-03-19T22:00:00.000Z对于2015-03-12T00:00:00.000Z是正确的,因为它将从午夜减去2小时更改日期,如果您需要特定格式,可以使用日期过滤器按照plunker进行,

您所在时区的

{{'2015-03-19T22:00:00.000Z' | date:'dd-MMMM-yyyy'}}将返回20-March-2015

http://angular-ui.github.io/bootstrap/#/datepicker

http://plnkr.co/edit/CoIS2BFK5O5EAaTu4Vc2?p=preview

的javascript

$scope.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
$scope.format = $scope.formats[0];