Bir dizi dersim var ve bir AJAX'tan PHP çağrısına geri geldikleri tarihler var. Onları Tarihi büyükten göre sınıflandırılmaktadır gösterilecek gerekiyorJavascript sıralama tarihleri dizilişine göre DESC, sonra ay ASC, sonra gün ASC
var data = [{
"course": "First Aid",
"courseDate": "2016-04-25T00:00:00-06:00"
}, {
"course": "CPR",
"courseDate": "2016-04-06T00:00:00-06:00"
}, {
"course": "ASL1",
"courseDate": "2016-01-07T00:00:00-06:00"
}, {
"course": "ASL2",
"courseDate": "2016-03-25T00:00:00-06:00"
},
...etc...
];
: Biz sadece bizim dizi verilerini diyeceğiz yüzden 'veriler' olarak döndürülür. Ben bu basit işlevi kullanıyorum:
Beklendiği gibidata.sort(function(a, b) {
a = new Date(a.courseDate);
b = new Date(b.courseDate);
return a > b ? -1 : a < b ? 1 : 0;
});
$.each(data, function(key, val) {
$('#courseHist').append('<br />' + val.course+' - '+val.courseDate);
});
, ben teknik, tarih azalan sıralama kriteri olan
1st Aid - 2016-04-25...
CPR - 2016-04-06...
ASL2 - 2016-03-25...
ASL1 - 2015-12-07...
bir dönüş alıyorum. Ancak, azalan aya göre azalarak, sonra artan ay, sonra da artan tarihe ihtiyacım var. Şunun gibi:
ASL2 - 2016-03-25...
CPR - 2016-04-06...
1st Aid - 2016-04-25...
ASL1 - 2015-12-07...
benim tarih parçalar içine dönmek ve oradan düzenlemek ama sadece bunu nasıl etrafında başımı sarmak olamaz kırmak gerektiğini biliyorum. Herhangi bir yardım büyük beğeni topluyor!
Alternatif olarak, bunun için bir çözümü varsa, bunu PHP tarafında yapabilirim.
Karıştırmak istiyorsanız, bir HERE keman var. - Kullanıcı kodunun kullanıcı kodundan güncellenir.
Eğer tarihi örneklerini yaptıktan sonra, [Tarih API] kullanabilirsiniz (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) yılı ayıklamak için ('.getFullYear()'), ay ('.getMonth()'), ayın günü ('.getDate()'), vb – Pointy
Bu benim ilk düşüncem vardı ama ben Gerçekten bir fonksiyona nasıl yazılacağını anlamaya gerçekten zor bir zaman geçiriyorum. Bunu yapmak için ihtiyacım olan şey budur. –
Sabit Fiddle: https://jsfiddle.net/ts5mks95/ Yıllara göre sıralayarak başlayacak (azalan), o zaman eşitse, aylara göre sıralama (artan), o zaman eşitse, onları güne göre sıralayın ay (artan). – blex