我在我的角度应用程序中使用引导日期选择器。但是,当我从绑定的该日期选择器基础ng模型中选择一个日期时,该日期会更新,我希望该ng模型以一种“ MM / dd
/ yyyy”日期格式显示。但是每次都会这样约会
"2009-02-03T18:30:00.000Z"
代替
02/04/2009
我为相同的plunkr链接创建了一个plunkr
我的HTML和控制器代码如下
<!doctype html>
<html ng-app="plunker">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.11.0.js"></script>
<script src="example.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div ng-controller="DatepickerDemoCtrl">
<pre>Selected date is: <em>{{dt | date:'MM/dd/yyyy' }}</em></pre>
<p>above filter will just update above UI but I want to update actual ng-modle</p>
<h4>Popup</h4>
<div class="row">
<div class="col-md-6">
<p class="input-group">
<input type="text" class="form-control"
datepicker-popup="{{format}}"
ng-model="dt"
is-open="opened" min-date="minDate"
max-date="'2015-06-22'"
datepicker-options="dateOptions"
date-disabled="disabled(date, mode)"
ng-required="true" close-text="Close" />
<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>
<!--<div class="row">
<div class="col-md-6">
<label>Format:</label> <select class="form-control" ng-model="format" ng-options="f for f in formats"><option></option></select>
</div>
</div>-->
<hr />
{{dt}}
</div>
</body>
</html>
角度控制器
angular.module('plunker', ['ui.bootstrap']);
var DatepickerDemoCtrl = function ($scope) {
$scope.open = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = true;
};
$scope.dateOptions = {
formatYear: 'yy',
startingDay: 1
};
$scope.format = 'dd-MMMM-yyyy';
};
在此先感谢您审查我的问题。
更新
我在下面调用发布数据的方法,VAR是大小为900的数组,其中包含日期选择器变量。
public SaveCurrentData(formToSave: tsmodels.ResponseTransferCalculationModelTS) {
var query = this.EntityQuery.from('SaveFormData').withParameters({
$method: 'POST',
$encoding: 'JSON',
$data: {
VAR: formToSave.VAR,
X: formToSave.X,
CurrentForm: formToSave.currentForm,
}
});
var deferred = this.q.defer();
this.manager.executeQuery(query).then((response) => {
deferred.resolve(response);
}, (error) => {
deferred.reject(error);
});
return deferred.promise;
}
尽管已经发布了类似的答案,但我还是想为我提供最简单,最干净的解决方案。 假设您使用的是AngularUI日期选择器, 并且ng-
Model的初始值未格式化,只需在项目中添加以下指令即可解决此问题:
angular.module('yourAppName')
.directive('datepickerPopup', function (){
return {
restrict: 'EAC',
require: 'ngModel',
link: function(scope, element, attr, controller) {
//remove the default formatter from the input directive to prevent conflict
controller.$formatters.shift();
}
}
});
我在Github AngularUI问题中找到了该解决方案,因此所有的荣誉都归功于那里的人们。
问题内容: 我有一个输入定义为 将其显示在页面的其他位置: 当页面加载时,出生日期的格式很好,类似于。但是,当我查看我的内部时,它显示为我猜想的是JS如何将对象呈现为字符串。 首先,我如何告诉Angular将日期显示为?我似乎无法在属性内应用。 其次,一旦我编辑了日期,即使将其保留为原始格式,我的其他文本(位于中)似乎也不再应用过滤器;它突然更改了格式以匹配输入文本框的格式。如何在每次模型更改时应
问题内容: 我有以下由时间戳记中的模型值填充的文本输入: 它将输入值显示为给定的时间戳。 我想将输入中可见的值转换为格式化日期(YYYY / MM / DD),但在模型中应始终将其作为时间戳记。 我试图通过这种方式做到这一点: 但是没有运气。 感谢您的任何建议。 问题答案: 您可以尝试过滤器 的HTML 控制器JS
我正在尝试将DatePicker日期格式化为简单的数据格式(“yyyy-MM-dd HH: mm: ss Z”)。有人告诉我,我需要使用简单的数据格式将其解析为日期对象-简单的数据格式(“yyyy-MM-dd”),然后将其格式化为我需要的内容,如下所示。但是,我在尝试捕捉块中收到错误“重复局部变量eDate”。任何专家都可以查看我的代码并提出建议吗? 已更新
我想在获得,和。 这是一条漫长的道路: 我的问题:如何将最后一部分压缩到函数? 我想归档的内容: p/s:的含义与标准数字格式字符串相同。像C#语法:
主要内容:DateFormat 类,SimpleDateFormat 类格式化日期表示将日期/时间格式转换为预先定义的日期/时间格式。例如将日期“Fri May 18 15:46:24 CST2016” 格式转换为 “2016-5-18 15:46:24 星期五”的格式。 在 Java 中,可以使用 DateFormat 类和 SimpleDateFormat 类来格式化日期,下面详细介绍这两个格式化日期类的使用。 DateFormat 类 DateFormat 是日
Parameter Position Type Required Default Description 1 string No %b %e, %Y This is the format for the outputted date. 输出日期的格式。 2 string No n/a This is the default date if the input is empty. 输入为空时的默认时