我在html页面中使用日期选择器,如下所示:
HTML
<div ng-controller="StartDateCtrl">
<label class="control-label" for="startDate"> Date:</label>
<div class="row">
<div class="col-md-6">
<p class="input-group">
<input type="text" name="startDate" class="form-control" show-button-bar="true" datepicker-popup="yyyy-MM-dd" ng-model="startDate" is-open="opened" min="minDate" max="'22-06-2015'" datepicker-options="dateOptions" date-disabled="disabled(date, mode)" ng-required="true" close-text="Close" />
<span class="input-group-btn">
<button class="btn btn-default" ng-click="open($event)"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</p>
</div>
</div>
</div>
日期选择控制器
var StartDateCtrl= function ($scope) {
$scope.today = function() {
$scope.travelStartDate = new Date();
};
$scope.today();
$scope.showWeeks = true;
$scope.toggleWeeks = function () {
$scope.showWeeks = ! $scope.showWeeks;
};
$scope.clear = function () {
$scope.travelStartDate = null;
};
// Disable weekend selection
$scope.disabled = function(date, mode) {
return ( mode === 'day' && ( date.getDay() === 0 || date.getDay() === 6 ) );
};
$scope.toggleMin = function() {
$scope.minDate = ( $scope.minDate ) ? null : new Date();
};
$scope.toggleMin();
$scope.open = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = true;
};
$scope.dateOptions = {
'year-format': "'yy'",
'starting-day': 1
};
//$scope.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'shortDate'];
$scope.formats = ['yyyy-MM-dd'];
$scope.format = $scope.formats[0];
};
主控制器
app.controller('UpdateShoppingBasketCtrl', ['$scope', 'ShoppingBasketFactory', '$location',
function ($scope, ShoppingBasketFactory, $location) {
alert('START DATE = '+ $scope.startDate );
}]);
提交网页时,我会在主窗体控制器中检索日期,但格式与日期选择器弹出窗口中显示的格式不同。选择后显示的格式为“2014年3月26日”。但是,在我的控制器中,我得到:2014年3月26日星期四00:00:00 GMT 0000(GMT标准时间)
请问,如何在控制器中获得显示的日期格式,而不是“2014年3月26日星期四00:00:00 GMT 0000(GMT标准时间)”????
虽然这个问题已经得到了回答,但我将提供一个替代方案,以及一些更详细的信息。
该问题实际上是Angular 1.3.0 rc0及以后出现的错误。除了使用$filter
之外,另一种解决方案是定义一个自定义指令,如DaveWM
所描述的:
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();
}
}
})
这应该与使用$filter
具有相同的效果。
您只需在angular filter方法中获取模型值,并提供所需的日期格式即可。还有一件事需要在控制器中定义$过滤器。
var dateValue =$filter('date')($scope.date, 'MM/dd/yyyy'),
可以使用日期过滤器设置日期格式。以下是演示:
<body ng-app="MyApp" ng-controller="MyController">
<div>{{date}}</div>
</body>
脚本:
angular.module('MyApp',[])
.controller('MyController',function($scope,$filter){
$scope.date = $filter('date')(Date.now(),'yyyy-MM-dd');
});
问题内容: 我正在学习Go,并且正在尝试对日期时间进行JSON解组。 我有一个用C语言编写的程序生成的JSON,我正在输出我认为有效的ISO8601 / RFC3339时区偏移量。我正在使用以下格式字符串: (请注意,本机不支持,我有一个包装器将其替换为纳秒级)。 然后,将产生以下结果: 但是在Go中取消编组此功能将无效:https : //play.golang.org/p/vzOXbzAwdW
问题内容: 我已经看到JSON日期格式的许多不同标准: 哪一个是正确的?还是最好的?有什么标准吗? 问题答案: JSON本身 没有 指定日期应如何表示,但JavaScript却指定了。 您 应该 使用的方法发出的格式: 原因如下: 它是人类可读的,但也很简洁 排序正确 它包括小数秒,可以帮助重新建立时间顺序 符合ISO 8601 ISO 8601已经在国际上建立了十多年的历史 W3C,RFC333
您好,我正在从db中获取日期,其中日期列的类型为“date”,然后将其拆分并串联成字符串存储在db中 当从本地环境执行程序时,它工作正常,时间存储为28-09-2021 15:34:42,当通过服务器执行程序时,它以12小时格式28-09-2021 03:34:42PM存储,这会产生问题并引发错误。如果您有任何关于如何解决此问题的想法,我们将不胜感激。
问题内容: 我已经看到了许多不同的JSON日期格式标准: 哪一个是正确的?还是最好的?有什么标准吗? 问题答案: JSON本身并未指定日期应如何表示,但JavaScript却指定了。 你应该使用的方法发出的格式: 原因如下: t’s human readable but also succinct It sorts correctly It includes fractional seconds,
我一直在尝试使用: 使用此链接: 但我有一个错误: 当我换成: 是工作。我能做些什么来和日期一起工作? 谢啦
我正在使用iReport 4.6.0和JasperReports Server 4.5.0。我创建了一个报告,希望在其中向MySQL数据库传递日期值。我创建了一个参数并使用了java。util。日期类。在输入控件上,我将其设置为单值类型和日期数据类型。在iReport中运行报告(使用预览)时,系统会提示我选择日期,并使用指定的日期生成报告。将报告部署到JasperReports服务器后,当系统提示