DataTables jQuery - Sortowanie po dacie w formacie MM/DD/YYYY

Hej
Tak jak w temacie walcze z tym żeby móc sortować po datach ale w formacie US, w dokumentacji pluginu DataTables poczytałem że można użyć rozszerzenia moment.js jednak nie wiem czemu ale mi to nie działa poprawnie (tak jakby nie sortuje po roku)
taki mam kod:
$(document).ready(function () {
$.fn.dataTable.moment(‘MM/DD/YYYY’);

$('.table').DataTable(
    {
        columnDefs: [
            { type: 'natural', targets: 0 },
            { type: 'datetime-moment', targets: 1 },
            { orderable: false, targets: [2, 3, 4] }
        ]
    });

});

Ogarnięte, podaje jeżeli ktoś potrzebuje:

$(document).ready(function () {

$.fn.dataTable.moment('M/D/YYYY');

$('.tablet').DataTable({
    columnDefs: [
        { type: 'natural', targets: 0 },
        { type: 'datetime-moment', target: 1 },
        { orderable: false, targets: [2, 3, 4] }
    ]
});

});

1 polubienie

DataTable to strasznie mylaca nazwa tablicy z datami;) Chyba, ze nie jest to tbalica z datami a danymi, wtedy jest to malo mowiaca nazwa zmiennej;)

ale tak na temat, czy daty nie powinny byc zapisane w zwyklej postaci timestamp czy innych ms? Znacznie to ulatwia jakakolwiek ich pozniejsza manipulacje.

Data to nie to samo co Date to dwa różne słowa o innym znaczeniu.

1 polubienie

Widać lubi randkować lub polsatowską edycję :love_letter: :desert_island:.

Też nie do końca masz rację :wink:.

Date - to data w sensie daty dnia - taka z kalendarza, np. 23 września 2019 roku, to jest date
Data - to są dane, informacje

Date - oznacza też randkę. Wydaje mi się iż powodem tego jest to, że oznacza też datować co znaczy ustalać datę lub opatrywać coś datą, w tym przypadku chodzi o opatrywanie datą terminu spotkania dwóch osób darzących siebie sympatią lub zakochanych - to jest moja interpretacja dlaczego date oznacza też randkę. Ale jest to drugorzędne znaczenie tego słowa, pierwszorzędne oznacza datę w sensie jakiegoś konkretnego terminu.

Dlatego wlasnie mowie, ze tablica przechowujaca daty powinna miec nazwe ‘DateTable’, a nie, jak powyzej, ‘DataTable’.
chyba, ze ktos po prostu nazwal tablice ‘tablica z danymi’, co po angielsku wlasnie byloby ‘DataTable’, i wtedy byloby to poprawne, ale znowu nazewnictwo zmiennych byloby dosc kiepskie. to jak nazwac zmienna ‘zmienna’.
niemniej wciaz, zapisywanie daty jako sformatowany string jest kiepskim pomyslem. Timestamp, czy nawet objekt typu Date bylby lepszym podejsciem. Odpornym na strefy czasowe czy rozne formaty wyswietlania dat.

Tylko że mi zależało wtedy na tym pluginie https://datatables.net/, chciałem go użyć w niewielu miejsach więc poddałem się jego konwencji, która w sumie dla mnie jest okej.