Упоредите датуме на Јави

Аутор: Roger Morrison
Датум Стварања: 24 Септембар 2021
Ажурирати Датум: 1 Јули 2024
Anonim
8 инструментов в Excel, которыми каждый должен уметь пользоваться
Видео: 8 инструментов в Excel, которыми каждый должен уметь пользоваться

Садржај

Постоји неколико начина за упоређивање датума у ​​Јави. Датум је интерно представљен као (дугачка) тачка у времену - број милисекунди које су прошле од 1. јануара 1970. У Јави је датум објекат Дате, што значи да садржи више метода за упоређивање датума. Било који метод упоређивања два датума у ​​основи ће упоредити протекло време оба датума.

На корак

Метод 1 од 4: Коришћење наредбе „цомпареТо“

  1. Користите цомпареТо. Дате имплементира ЦомпараблеДате> и тако се два датума могу директно упоређивати међусобно помоћу методе цомпареТо. Ако датуми означавају исти тренутак у времену, метода ће вратити нулу. Ако је датум који се упоређује пре аргумента датума, тада ће се вратити негативна вредност. Ако је датум који се упоређује каснији датум од датума аргумента датум, тада ће се вратити позитивна вредност. Ако су датуми исти, вратиће се нула.
  2. Направите објекте Дате. Морате да креирате сваки датумски објекат пре него што почнете да их упоређујете. Један од начина да то урадите је примена класе СимплеДатеФормат. То вам омогућава да лако уносите датуме у објекте Дате.

      СимплеДатеФормат сдф = нови СимплеДатеФормат ("ииии-ММ-дд"); // За декларисање вредности у новим датумским објектима.Користите исти формат датума приликом креирања датума Дате дате1 = сдф.парсе ("1995-02-23"); // дате1 је 23. фебруара 1995. Датум дате2 = сдф.парсе ("2001-10-31"); // дате2 је 31. октобра 2001. Датум дате3 = сдф.парсе ("1995-02-23"); // дате3 је 23. фебруара 1995

  3. Упоредите датуме. Испод је приказан сваки случај - мањи од, једнак и већи од.

      дате1.цомпареТо (дате2); // дате1 дате2, мање од 0 дате2.цомпареТо (дате1); // дате2> дате1, враћа веће од 0 дате1.цомпареТо (дате3); // дате1 = дате3, враћа 0

Метод 2 од 4: Коришћење метода „једнако, после и пре“

  1. Користите једнако, после и пре. Датуми се могу упоређивати једни с другима помоћу метода једнаких, после и пре. Ако два датума означавају исто време, метода једнака вратиће „тачно“. Примери користе претходно креиране датуме методом цомпареТо.
  2. Упоредите помоћу претходне методе. Доњи код приказује случај истине и нетачности. Ако је дате1 ранији од дате2, резултат је истинит. Ако није, бефоре враћа фалсе.

      Систем.оут.принт (дате1.бефоре (дате2)); // исписати тачно Систем.оут.принт (дате2.бефоре (дате2)); // исписати лажно

  3. Упоредите ово са методом афтер. Доњи код приказује случај истине и нетачности. Ако је дате2 каснији од дате1, тада афтер враћа труе. Ако није, афтер враћа фалсе.

      Систем.оут.принт (дате2.афтер (дате1)); // принт труе Систем.оут.принт (дате1.афтер (дате2)); // принт фалсе

  4. Упоредите методом једнаких. Доњи код приказује случај истине и нетачности. Ако су датуми исти, екуалс враћа труе. У супротном, једнакост враћа фалсе.

      Систем.оут.принт (дате1.екуалс (дате3)); // принт труе Систем.оут.принт (дате1.екуалс (дате2)); // принт фалсе

3. метод од 4: Коришћење класе Календар

  1. Користите класу Календар. Класа Цалендар такође има методе цомпареТо, екуалс, афтер и бефоре, које раде на исти начин као што је горе описано за класу дате. Дакле, ако се подаци о датуму чувају у календару, нема потребе за издвајањем „датум“, већ само за упоређивање два датума.
  2. Направите инстанцу календара. Да бисте користили методе календара, требају вам неке инстанце Календара. Срећом, можете да користите време генерисано примерима Дате.

      Календар цал1 = Цалендар.гетИнстанце (); // проглашава цал1 календар цал2 = Цалендар.гетИнстанце (); // проглашава цал2 календар цал3 = Цалендар.гетИнстанце (); // декларише цал3 цал1.сетТиме (дате1); // примењује датум на цал1 цал2.сетТиме (дате2); цал3.сетТиме (дате3);

  3. Упоредите цал1 и цал2 користећи претходно. Код у наставку даје вредност труе, јер је цал1 ранији од цал2.

      Систем.оут.принт (цал1.бефоре (цал2)); // исписати истинито

  4. Упоредите цал1 и цал2 користећи афтер. Код у наставку враћа фалсе, јер је цал1 ранији од цал2.

      Систем.оут.принт (цал1.афтер (цал2)); // исписати лажно

  5. Упоредите цал1 и цал2 користећи једнако. Доњи код приказује примере истинитих и нетачних података. Услов зависи од примерка календара који се упоређују. Код испод приказује „труе“, а затим „фалсе“ у следећем реду.

      Систем.оут.принтлн (цал1.екуалс (цал3)); // исписати тачно: цал1 == цал3 Систем.оут.принт (цал1.екуалс (цал2)); // исписати нетачно: цал1! = цал2

Метод 4 од 4: Коришћење методе „гетТиме“

  1. Користите гетТиме. Такође је могуће директно упоређивати две временске тачке, мада ће било који од претходних приступа вероватно донети читљивије резултате и због тога је пожељнији. Ово је поређење два примитивна типа података, па се то може урадити са "", ">" и "==".
  2. Направите „дугачке“ временске објекте. Да бисте могли да упоредите датуме, морате да направите дуге целе бројеве од података претходно креираних објеката Дате. Срећом, метода гетТиме () ће обавити већину посла уместо вас.

      лонг тиме1 = гетТиме (дате1); // декларише примитивно време1 датума1 дуго време2 = гетТиме (датум2); // проглашава примитивно време2 датума2

  3. Користите једначину „мање од“. Упоредите ове две целобројне вредности помоћу симбола „мање од“ (). Будући да је време1 мање од времена2, прву поруку треба одштампати на екрану. Изјава елсе је укључена за тачну синтаксу.

      иф (тиме1 тиме2) {Систем.оут.принтлн ("дате1 је ранији од дате2"); // исписујемо јер тиме1 тиме2} елсе {Систем.оут.принтлн ("дате1 је каснији или једнак дате2"); }

  4. Направите поређење „веће од“. Упоредите ове две целобројне вредности помоћу симбола „веће од“ (>). Будући да је време1 веће од времена2, прва порука се штампа на екрану. Изјава елсе је укључена за тачну синтаксу.

      иф (тиме2> тиме1) {Систем.оут.принтлн ("дате2 долази иза дате1"); // исписујемо јер је тиме2> тиме1} елсе {Систем.оут.принтлн („дате2 је ранији или једнак датуму1“); }

  5. Урадите поређење „једнако“. Упоредите ове две целобројне вредности помоћу симбола (==). Будући да је време1 једнако времену3, прву поруку треба одштампати. Ако програм дође до наредбе елсе, то значи да времена нису иста.

      иф (тиме1 == тиме2) {Систем.оут.принтлн ("Датуми су једнаки"); } елсе {Систем.оут.принтлн ("Датуми нису једнаки"); // исписујемо јер је тиме1! = тиме2}