AMcoder - javascript, python, java, html, php, sql

Խնդիր, երբ համեմատում ենք տվյալների բազայում պահված ամսաթիվը այսօրվա ամսաթվի հետ՝ օգտագործելով momentJS

Ես ունեմ հետևյալ խնդիրը. momentJS-ը կարծես չի աշխատում, երբ փորձում եմ համեմատել ամսաթվերը իմ տվյալների բազայից:

Սա իմ JS կոդը.

var reminderDate = new Date(item.lastReminder);

if (moment(reminderDate) < moment()) {
    console.log(moment(reminderDate).format("Y-MM-D") + ' - ' + moment().format("Y-MM-D"));
    return 'success'
} else {
    return 'danger'
}

Սա այն է, ինչ ցուցադրվում է console.log-ի կողմից.

2020-01-20 - 2020-01-20

(4) 1970-01-1 - 2020-01-20

2020-01-20 - 2020-01-20

1970-01-1-ը ցուցադրվում է չորս անգամ, քանի որ տվյալների բազայում ամսաթիվ չի պահպանվել:

Այնուամենայնիվ, առաջին տողում պետք է ցուցադրվեն 2020-01-16 և 2020-01-24, ոչ թե այսօրվա ամսաթիվը (2020-01-20)...

Շնորհակալություն ձեր օգնության համար:

Խմբագրել. Ամսաթվերը պահվում են իմ տվյալների բազայում այսպես.

մուտքագրեք պատկերի նկարագրությունը այստեղ

20.01.2020

  • ինչ եք ստանում «reminerDate»-ում, որի վրա փորձում եք կիրառել պահերի գրադարանը ամսաթվի ձևաչափի համար 20.01.2020
  • Բարև @bajran, շնորհակալություն պատասխանի համար, ես խմբագրեցի գրառումը 21.01.2020

Պատասխանները:


1

Եթե ​​ձեր item.lastReminder արժեքը 2020-01-16 էր, այն կտպվեր վահանակում՝

2020-01-16 - 2020-01-20

Դուք կարող եք տեսնել ձեր հինգ մուտքերի արդյունքը, որն աշխատում է հետևյալ կոդի հատվածով.

var inputs = ['2020-01-16', null, null, null, null, '2020-01-24'];

inputs.forEach(lastReminder => {
var reminderDate = new Date(lastReminder);

   if (moment(reminderDate).isBefore(moment())) {
       console.log(moment(reminderDate).format("Y-MM-D") + ' - ' + moment().format("Y-MM-D"));
       console.log('return success');
   } else {
       console.log('return danger');
   }
});
<body>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
</body>

Իսկ վերջինը չէր տպի, քանի որ այսօր չկա, և եթե պայմանը ճիշտ չէր լինի և կվերադարձներ «վտանգ»:

Խնդիրը item.lastReminder-ի ձեր արժեքների մեջ է:

P.S. Նշում Ես փոխել եմ ամսաթվերի համեմատությունը՝ օգտագործելու հարցման գործառույթը isBefore: Արդյունքը նույնն է այս արժեքների համար, բայց ես նախընտրում եմ օգտագործել հարցումների գործառույթները:

20.01.2020
Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..