datetime-本地不同格式选择后 [英] datetime-local different format after selecting
问题描述
给定的是一个离线应用程序,在android系统上运行< input type ='datetime-local'>
输入。问题是用户选择日期后输入的格式不同。 开始
是在用户选择日期之后, Ende
是默认格式。我已经尝试添加 min
, max
和 step
属性。
Given is an ionic app with <input type='datetime-local'>
inputs which runs on an android system. The problem ist that the inputs have different formats after the user selects a Dates. Start
is after the user selected a date and Ende
is the default formatting. I already tried to add the min
, max
and step
attribute.
没有毫秒的格式是首选的。
The format without the miliseconds is the preferred one.
控制器
$scope.event = {};
// Default dates
$scope.event.start = new Date();
$scope.event.end = new Date();
$scope.event.end.setHours($scope.event.start.getHours() + 2);
HTML部分
<label class="item item-input underlinedInput equal-padding ">
<span class="input-label">Start</span>
<input type="datetime-local" placeholder="Start" ng-model="event.start" step="1" min="1900-01-01T00:01:00" max="2900-01-01T23:59:59">
</label>
<label class="item item-input underlinedInput equal-padding ">
<span class="input-label">Ende</span>
<input type="datetime-local" placeholder="Ende" ng-model="event.end" step="1" min="1900-01-01T00:01:00" max="2900-01-01T23:59:59">
</label>
推荐答案
对于任何有兴趣的人,我写了一个解决我的工厂问题。
For anyone interested, i wrote a factory that solves my problem.
而不是像 $ scope.event.start = new Date()
创建一个日期,只需使用 $ scope.event.start = Tools.currentDate();
Instead of creating a date like $scope.event.start = new Date()
just use $scope.event.start = Tools.currentDate();
.factory('Tools', function () {
return {
utcDate: function (date) {
var d = new Date(date.replace(' ', 'T'));
d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);
return d;
},
currentDate: function () {
var d = new Date();
var year = d.getFullYear();
var month = this.leadingZero(d.getMonth());
var day = this.leadingZero(d.getDate());
var hour = this.leadingZero(d.getHours());
var minutes = this.leadingZero(d.getMinutes());
return this.utcDate(year+"-"+month+"-"+day+"T"+hour+":"+minutes+":00");
},
leadingZero: function(number){
return ("0"+number).substr(-2,2);
}
}
})
这篇关于datetime-本地不同格式选择后的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!