gpt4 book ai didi

php - 如何将 Angular UI 日期选择器中的 ISO 格式值更改为 yyyy-mm-dd?

转载 作者:行者123 更新时间:2023-11-29 12:07:00 27 4
gpt4 key购买 nike

我的代码有问题。我的表单中有一个日期选择器,在文本框值中,日期格式是正确的,但在 PHP 中传递时,它是 ISO 格式,如下所示:

Sat Aug 29 2015 00:00:00 GMT+0800 (Malay Peninsula Standard Time)

这是我的示例代码中的内容:

 <div class="container" ng-app="dateApp">

<div ng-controller="dateCtrl">
<h3>TEST DATE</h3>
<div class="form-group">
<label>Choose date: </label>
<p class="input-group">
<input type="text" class="form-control" csDateToIso datepicker-popup="yyyy-MM-dd" is-open="opened" ng-model="chosenDate" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="open($event)"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</p>
</div>

<div class="well" ng-bind="chosenDate"></div>

</div>

</div>

JS:

var dateApp = angular.module('dateApp', ['ui.bootstrap']);

dateApp.controller('dateCtrl', function($scope) {

$scope.today = function() {
chosenDate = new Date();
};

$scope.today();

$scope.toggleMin = function() {
$scope.minDate = $scope.minDate ? null : new Date();
};

$scope.toggleMin();

$scope.clear = function () {
$scope.dt = null;
};

$scope.open = function($event) {
$event.preventDefault();
$event.stopPropagation();

$scope.opened = true;
};


});

//directive ISO from -entre- not working
dateApp.directive('csDateToIso', function () {

var linkFunction = function (scope, element, attrs, dateCtrl) {

dateCtrl.$parsers.push(function (datepickerValue) {
return moments(datepickerValue).format('YYYY-MM-DD');
});

};

return {
restrict: 'A',
require: 'ngModel',
link: linkFunction
};

});

我想要这样的格式:yyyy-mm-dd hh:i:ss

这是 plnkr:http://plnkr.co/edit/NNqZ8v?p=preview

最佳答案

我编写了可与 ng-model 一起使用的自定义指令,并将日期值修复为 ISO 格式并去掉其时间部分,以避免时区问题。

csapp.directive('csDateToIso', function () {

var linkFunction = function (scope, element, attrs, ngModelCtrl) {

ngModelCtrl.$parsers.push(function (datepickerValue) {
return moment(datepickerValue).format('YYYY-MM-DD');
});
};

return {
restrict: 'A',
require: 'ngModel',
link: linkFunction
};
});

将此指令与 ui-datepicker 一起使用来解决该问题。我使用的是 moment.js,但您也可以不使用 moment.js。

关于php - 如何将 Angular UI 日期选择器中的 ISO 格式值更改为 yyyy-mm-dd?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31307737/

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