Açısal UI Veri Tabanı'nı değişken olarak geçirilen iki tarih arasında sınırlamak istiyorum. Tercihen, momentumlar gibi bir kütüphane eklemeden çalışmayı sağlamak istiyorum, çünkü bu tarihlerle çalışmam gereken tek alan. Burada http://plnkr.co/edit/zsjpoVZtHqJLIP2RW6vm?p=previewAngularUI Datepicker Aralık dışı tarih aralığını devre dışı bırakma
değişkenler şunlardır:: İşte
bu sorunun bir plunker olanmycurrentdate = '2016-04-18'
mymindate = '2016-04-01'
mymaxmonth = '2016-05-01'
mymaxdate will be calculated from mymaxmonth to be
mymaxdate = '2016-05-31'
Benim asıl maksimum tarih mymaxmonth son günü olacak
$scope.maxDate = new Date(
$scope.mymaxmonth + (TO THE END OF THE MONTH)
);
Dikkat edilmesi gereken tek şey, new Date()
, belirtilen tarihten önceki bir tarihi döndürür. Örneğin:
$scope.minDate = new Date(
$scope.mymindate
);
$ scope.minDate Wed Mar 30 2016 17:00:00 GMT-0700 (PDT)
döndürür Ben 30 Mart yerine 1 Nisan döner ve bir zaman dilimi hata gibi görünüyor neden nedenini baktı?
'2016-04-01' bir mymindate ayarlamak ve mymaxdate = '2016-05-31' değerini almak ve bu aralığın dışındaki tüm tarihleri devre dışı bırakmak istiyorum. Beginners Guide to Javascript Date and Time'u okudum ve burada denedim. Ben şablonunda
$scope.mymindate = '2016-04-01';
$scope.mymaxmonth = '2016-05-01'; //want mymaxdate to be '2016-05-31'
$scope.minDate = new Date($scope.dt.getFullYear(), $scope.dt.getMonth(), 1);
$scope.maxDate = new Date($scope.dt.getFullYear(), $scope.dt.getMonth() + 1, 0);
: denetleyici olarak
Ben
<p class="input-group">
<input type="text" class="form-control" uib-datepicker-popup="{{format}}" ng-model="dt" is-open="popup1.opened" min-date="minDate" max-date="maxDate" datepicker-options="dateOptions" ng-required="true" close-text="Close" alt-input-formats="altInputFormats" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="open1()"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</p>
"*… bir saat dilimi hatası gibi görünüyor *". Bir hata değil, ECMA-262'nin yazarları tarafından verilen kötü bir tasarım kararı, bkz. [* Yeni Tarih() neden bir gün kaldırılıyor? *] (Http://stackoverflow.com/questions/36698286/why-is-new- tarih-çıkarma-a-day-javascript). * Tarih * yapıcısının (ve * Date.parse * öğelerinin eşdeğerleri) zayıf ayrışmasından kaçınmanın tek yolu, tarihi el ile ayrıştırmaktır. Yani ya bir fonksiyon yazınız (2 satır kod) ya da kütüphane kullanınız. GitHub'da çok sayıda küçük ayrıştırma ve biçimlendirme kitaplığı var veya yapacak başka bir tarihiniz varsa moment.js'ye gidiniz. – RobG
Oh, 31 Mayıs 2016 için bir Tarihiniz varsa ve bir ay eklediyseniz, 01 Temmuz-2016 arasında bir tarih alacaksınız (31 Haziran olduğu için, Temmuz ayına kadar geçerli olacaktır). Tarih aritmetiği önemsiz değildir ve çoğu neden bu tür şeyler için küçük (veya belki de büyük) bir kütüphane kullanır. – RobG
@RobG Bu, uygulamamdaki tarihleri kullanacağım tek zamandır, bu yüzden mümkünse bir kütüphane bağımlılığı eklemekten uzak durmayı tercih ederim. – jenryb