Како упоредити датуме у ЈаваСцрипт-у

JavaScript

Руковање поређењем датума у ​​ЈаваСцрипт-у

Када радите са веб апликацијама, поређење датума је уобичајен захтев, посебно када се проверава кориснички унос из оквира за текст. ЈаваСцрипт пружа неколико начина за упоређивање датума, омогућавајући програмерима да провере да ли је један датум већи, мањи или није у прошлости у односу на други датум.

Овај чланак ће вас водити кроз различите методе за упоређивање вредности датума у ​​ЈаваСцрипт-у, обезбеђујући тачну и ефикасну валидацију. Без обзира да ли радите на систему за резервације, планеру догађаја или било којој апликацији која укључује поређење датума, ове технике ће бити од непроцењиве вредности.

Цомманд Опис
new Date() Креира нови објекат Датум који представља одређени датум и време.
document.getElementById() Приступа ХТМЛ елементу преко његовог ИД-а.
express.json() Средњи софтвер који анализира долазне захтеве са ЈСОН корисним оптерећењем.
app.post() Дефинише руту за руковање ПОСТ захтевима.
req.body Садржи парове кључ/вредност података достављених у телу захтева.
res.send() Враћа одговор клијенту.
app.listen() Покреће сервер и ослушкује долазне везе на одређеном порту.

Разумевање поређења датума у ​​ЈаваСцрипт-у

Фронтенд скрипта је дизајнирана да упореди два датума које је корисник унео кроз текстуалне оквире. Тхе команда се користи за претварање уноса стрингова у објекте датума. Тхе команда се користи за преузимање вредности из текстуалних оквира према њиховим ИД-овима. Када се датуми дохвате и конвертују, скрипта користи једноставне операторе поређења да провери да ли је један датум већи, мањи или једнак другом. Поред тога, тренутни датум се добија помоћу и упоредити са датумима уноса да би се утврдило да ли су они у прошлости. Резултати ових поређења се затим приказују кориснику помоћу порука упозорења.

Позадинска скрипта користи Ноде.јс са Екпресс фрамеворк-ом за руковање упоређивањем датума на страни сервера. Почиње постављањем Екпресс апликације и рашчлањивањем долазних ЈСОН захтева помоћу . Траса обрађује ПОСТ захтеве до крајње тачке /цомпаре-датес. У оквиру ове руте, датуми се издвајају из тела захтева, конвертују се у објекте Датум коришћењем , и упоређен на сличан начин са фронтенд скриптом. Резултати ових поређења су спојени у један низ одговора и послати назад клијенту користећи res.send(). Сервер се затим покреће и ослушкује долазне везе на порту 3000 користећи .

Поређење датума у ​​ЈаваСцрипт-у: пример фронтенда

ЈаваСцрипт за Фронтенд валидацију

// Get date values from text boxes
function compareDates() {
  const date1 = new Date(document.getElementById('date1').value);
  const date2 = new Date(document.getElementById('date2').value);
  const now = new Date();
  if (date1 > date2) {
    alert('Date 1 is greater than Date 2');
  } else if (date1 < date2) {
    alert('Date 1 is less than Date 2');
  } else {
    alert('Date 1 is equal to Date 2');
  }
  if (date1 < now) {
    alert('Date 1 is in the past');
  }
  if (date2 < now) {
    alert('Date 2 is in the past');
  }
}

Поређење датума у ​​позадини помоћу Ноде.јс

Ноде.јс за проверу датума на страни сервера

const express = require('express');
const app = express();
app.use(express.json());
app.post('/compare-dates', (req, res) => {
  const { date1, date2 } = req.body;
  const d1 = new Date(date1);
  const d2 = new Date(date2);
  const now = new Date();
  let result = '';
  if (d1 > d2) {
    result += 'Date 1 is greater than Date 2. ';
  } else if (d1 < d2) {
    result += 'Date 1 is less than Date 2. ';
  } else {
    result += 'Date 1 is equal to Date 2. ';
  }
  if (d1 < now) {
    result += 'Date 1 is in the past. ';
  }
  if (d2 < now) {
    result += 'Date 2 is in the past.';
  }
  res.send(result);
});
app.listen(3000, () => console.log('Server running on port 3000'));

Истраживање напредних поређења датума у ​​ЈаваСцрипт-у

Поред основних поређења датума, ЈаваСцрипт нуди напредније технике и библиотеке које могу да поједноставе манипулацију датумима. Једна таква библиотека је Момент.јс, која обезбеђује богат АПИ за рашчлањивање, проверу, манипулисање и форматирање датума. Момент.јс може да се носи са рубним случајевима и сложеностима укљученим у операције датума, што га чини популарним избором за програмере. Користећи Момент.јс, можете лако да упоредите датуме са методама као што су , , и . Ове методе побољшавају читљивост и смањују могућност грешака у вашем коду.

Још један моћан алат за поређење датума у ​​ЈаваСцрипт-у је објекат, који омогућава форматирање датума на начин који је осетљив на локализацију. Ово може бити посебно корисно када се ради о међународним апликацијама где се формати датума разликују. Штавише, ЈаваСцрипт је уграђен објекат има методе као што су и valueOf() који враћају број милисекунди од Уник епохе, пружајући једноставан начин за нумеричко поређење датума. Ове методе, у комбинацији са техникама као што је креирање функција за вишекратну употребу за поређење датума, могу значајно побољшати робусност и могућност одржавања вашег кода.

  1. Како могу да упоредим два датума без коришћења библиотеке?
  2. Можете да упоредите два датума тако што ћете их претворити у објеката и коришћењем оператора поређења попут , , и ===.
  3. Шта је Момент.јс и како помаже у поређењу датума?
  4. Момент.јс је ЈаваСцрипт библиотека која поједностављује манипулацију датумима и поређење са методама као што су и .
  5. Могу ли да форматирам датуме у ЈаваСцрипт-у на различите локације?
  6. Да, користећи објекат вам омогућава да форматирате датуме према различитим локацијама.
  7. Шта је метода која се користи за?
  8. Тхе метода враћа број милисекунди од 1. јануара 1970. године, што олакшава бројчано поређење датума.
  9. Како могу да проверим да ли је датум у прошлости?
  10. Упоредите датум са тренутним датумом користећи анд тхе оператер.
  11. Које рубне случајеве треба узети у обзир када упоређујете датуме?
  12. Рубни случајеви укључују преступне године, различите временске зоне и различите формате датума.
  13. Да ли је потребно користити библиотеку за поређење датума?
  14. Иако нису неопходне, библиотеке попут Момент.јс могу поједноставити процес и ефикасније руковати сложеним сценаријима.
  15. Могу ли да користим објекат за аритметику датума?
  16. Да, можете користити методе као што су и да изврши аритметику датума са објекат.

Сумирање техника поређења датума у ​​ЈаваСцрипт-у

Када радите са датумима у ЈаваСцрипт-у, њихово тачно поређење је кључно за различите апликације. Користећи објекат Датум, програмери могу лако да конвертују низове датума у ​​упоредиве објекте. Једноставни оператори поређења као што су > и

Ефикасно поређење датума у ​​ЈаваСцрипт-у је од суштинског значаја за обезбеђивање тачне и поуздане валидације података. Конвертујући стрингове датума у ​​објекте Датум и коришћењем оператора поређења, програмери могу да изврше основна и напредна поређења датума. Алати као што су Момент.јс и објекат Интл.ДатеТимеФормат додатно побољшавају могућности руковања датумима у ЈаваСцрипт-у. Било на фронтенду или бацкенду, ове технике помажу у одржавању конзистентности и исправности у функционалностима везаним за датум унутар апликација.