Дата сортировки Время, секунды с AM PM - PullRequest
0 голосов
/ 26 сентября 2018

У меня проблема с сортировкой даты.Я пробовал ранее, но ничего не работает.Я также публикую свою скрипку здесь.может кто-нибудь помочь мне в редактировании моей скрипки .

function sortAscending(a, b) { 
const dateA = moment($(a).find('.year').text(), 'DD/MM/YYYY hh:mm:ss gm');
const dateB = moment($(b).find('.year').text(), 'DD/MM/YYYY hh:mm:ss gm');

return dateA.isBefore(dateB) ? 1 : dateA.isAfter(dateB) ? -1 : 0;
};

1 Ответ

0 голосов
/ 26 сентября 2018

Вы используете неправильный токен для AM и PM, вы должны использовать a или A, см. documentation.

Ваш оператор возврата в функции sortAscending не ошибочен, но его можно минимизировать всего за return dateA.isBefore(dateB) ? 1 : 0;.

Вот рабочий пример:

function sortAscending(a, b) {
  const dateA = moment($(a).find('.year').text(), 'DD/MM/YYYY hh:mm:ss a');
  const dateB = moment($(b).find('.year').text(), 'DD/MM/YYYY hh:mm:ss a');
  return dateA.isBefore(dateB) ? 1 : 0;
};

$(document).ready(function() {
  $('#wrapper .cards').sort(sortAscending).appendTo('#wrapper');
});
<div id="wrapper">

<!-- one element -->
<div class="cards">
    <span class="display-number">01</span>
    <span class="year">21/07/2012 10:25:10 AM</span>
</div><!-- element -->

<!-- one element -->
<div class="cards">
    <span class="display-number">02</span>
    <span class="year">21/07/2012 10:25:23 AM</span>
</div><!-- element -->

<!-- one element -->
<div class="cards">
    <span class="display-number">03</span>
    <span class="year">21/07/2012 10:25:45 PM</span>
</div><!-- element -->

<!-- one element -->
<div class="cards">
    <span class="display-number">04</span>
    <span class="year">21/07/2012 10:25:08 PM</span>
</div><!-- element -->

<!-- one element -->
<div class="cards">
    <span class="display-number">05</span>
    <span class="year">21/07/2012 10:25:58 AM</span>
</div><!-- element -->

</div> <!--wrapper-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

Надеюсь, я подтолкнул вас дальше.

...