Как сравнить отформатированные строки даты - PullRequest
0 голосов
/ 22 апреля 2020

Итак, у меня есть даты в следующем формате 'dd.MM.yyyy', сохраненные в виде строк, и я хотел бы сравнить их.

Я пытался использовать операторы> = или <=, но это не так работать на струнах. Тем не менее, он отлично работает с объектами Date. </p>

Поэтому я хотел бы спросить, есть ли способ сравнить отформатированные строки даты или лучше сохранить все как объект даты.

Ответы [ 4 ]

0 голосов
/ 22 апреля 2020

Как вы упомянули, ваши даты хранятся в виде строки. Вы можете попробовать следующий способ:

1) Сначала установите формат даты в SQL, он установит один формат.

2) приведите / преобразуйте значения и поместите их в переменные.

3) Тогда вы можете сравнить или найти даты между (между)

Надеюсь, это поможет.

0 голосов
/ 22 апреля 2020

Я думаю, что даты лучше всего сравнивать в их объектном формате с другими, чтобы получить фактическое значение даты.

Я пробовал это раньше.

0 голосов
/ 22 апреля 2020

Есть много вариантов, если вы хотите сравнить, следует форматировать строки рядом с форматом ISO (гггг MM dd), который сопоставим, например, для сортировки массива ваших строк:

// let array = [...your format strings];
let sortedArray = array
    .map(str => {
        let [dd, MM, yyyy] = str.split('.');
        return `${yyyy}.${MM}.${dd}`;
    })
    .sort((a, b) => a.localeCompare(b))
    .map(str => {
        let [yyyy, MM, dd] = str.split('.');
        return `${dd}.${MM}.${yyyy}`;
    });
0 голосов
/ 22 апреля 2020

у вас есть два варианта:

1) построить объекты даты из этих строк и сравнить их, как вы делали это до

2) переформатировать строки, такие как YYYYMMdd, и сравнить их как числа

...