በጃቫ ውስጥ ሁለት ቀኖችን ለማወዳደር 4 መንገዶች

ዝርዝር ሁኔታ:

በጃቫ ውስጥ ሁለት ቀኖችን ለማወዳደር 4 መንገዶች
በጃቫ ውስጥ ሁለት ቀኖችን ለማወዳደር 4 መንገዶች

ቪዲዮ: በጃቫ ውስጥ ሁለት ቀኖችን ለማወዳደር 4 መንገዶች

ቪዲዮ: በጃቫ ውስጥ ሁለት ቀኖችን ለማወዳደር 4 መንገዶች
ቪዲዮ: 6,Arithimithics in Java(Amharic Tutorial)ሒሳብ በ ጃቫ መስራት(በአማርኛ) 2024, ግንቦት
Anonim

በጃቫ የፕሮግራም ቋንቋ ውስጥ ሁለት ቀኖችን ለማወዳደር ብዙ መንገዶች አሉ። በኮምፒዩተሮች ውስጥ አንድ ቀን በቁጥር (የውሂብ ዓይነት ሎንግ) በጊዜ አሃዶች ይወከላል - ማለትም ከጥር 1 ቀን 1970 ጀምሮ ያለፈው ሚሊሰከንዶች ብዛት። ንፅፅሮችን ለማድረግ በርካታ ዘዴዎች። ሁለት ቀኖችን ለማነጻጸር የሚያገለግል ማንኛውም ዘዴ በመሠረቱ የሁለቱን ቀኖች የጊዜ አሃዶች ማወዳደር ነው።

ደረጃ

ዘዴ 1 ከ 4: CompaTo ን በመጠቀም

4301351 1
4301351 1

ደረጃ 1. CompaTo ን ይጠቀሙ።

የቀን ዕቃው ተግባራዊ ያደርጋል ስለዚህ 2 ቀኖች በቀጥታ ከንፅፅር ዘዴ ጋር በቀጥታ ሊወዳደሩ ይችላሉ። ሁለቱም ቀኖች በሰዓት አሃዶች ውስጥ ተመሳሳይ ቁጥር ካላቸው ፣ ከዚያ ዘዴው ዜሮ ይመለሳል። ሁለተኛው ቀን ከመጀመሪያው ያነሰ ከሆነ ከዜሮ በታች የሆነ እሴት ይመለሳል። ሁለተኛው ቀን ከመጀመሪያው የሚበልጥ ከሆነ ዘዴው ከዜሮ የሚበልጥ እሴት ይመልሳል። ሁለቱም ቀኖች አንድ ከሆኑ ዘዴው ባዶ ዋጋን ይመልሳል።

4301351 2
4301351 2

ደረጃ 2. በርካታ የቀን ነገሮችን ይፍጠሩ።

ከማወዳደርዎ በፊት ብዙ የቀን ዕቃዎችን መፍጠር አለብዎት። ይህን ለማድረግ ቀላሉ መንገዶች አንዱ የ SimpleDateFormat ክፍልን መጠቀም ነው። ይህ ክፍል የግብዓት ቀን እሴትን ወደ ቀን ነገር ለመለወጥ ቀላል ያደርገዋል።

    SimpleDateFormat sdf = አዲስ SimpleDateFormat ("yyyy-MM-dd")። ዋጋን በአዲስ ‹የነገር ቀን› ውስጥ ለማወጅ ፣ ቀኑን ሲፈጥሩ ተመሳሳይ የቀን ቅርጸት ይጠቀሙ። ቀን ቀን 1 = sdf.parse ("1995-02-23"); // date1 የካቲት 23 ቀን 1995 ቀን date2 = sdf.parse ("2001-10-31"); // date2 ጥቅምት 31 ቀን 2001 ቀን date3 = sdf.parse ("1995-02-23"); // date3 የካቲት 23 ቀን 1995 ነው

4301351 3
4301351 3

ደረጃ 3. የቀን ዕቃዎችን ያወዳድሩ።

የሚከተለው ኮድ ለእያንዳንዱ ጉዳይ ምሳሌዎችን ያሳየዎታል - ያነሰ ፣ እኩል እና ከዚያ በላይ።

    date1.compareTo (date2); // date1 <date2 ፣ ከ 0 date2.compareTo (date1) በታች የሆነ እሴት ይመልሳል ፤ // date2> date1 ፣ ከ 0 date1.compareTo (date3) የሚበልጥ እሴት ይመልሳል ፤ // date1 = date3 ፣ ስለዚህ በኮንሶል ላይ 0 ያወጣል

ዘዴ 2 ከ 4 - እኩልዎችን መጠቀም ፣ በኋላ እና በፊት

4301351 4
4301351 4

ደረጃ 1. ተጠቀም ፣ በኋላ እና በፊት።

ቀኖችን በእኩል ፣ በኋላ እና በፊት ዘዴዎች በመጠቀም ሊወዳደሩ ይችላሉ። ሁለት ቀኖች በጊዜው ተመሳሳይ እሴት ካላቸው ፣ የእኩል ዘዴው እውነት ይመለሳል። የሚከተለው ምሳሌ በምሳሌ ማወዳደር ዘዴ ውስጥ የተፈጠረውን የቀን ነገር ይጠቀማል።

4301351 5
4301351 5

ደረጃ 2. ከቀዳሚው ዘዴ ጋር ያወዳድሩ።

የሚከተለው ኮድ እውነተኛ እና ሐሰትን የሚመልስ ምሳሌን ያሳያል። ቀን 1 ቀን ከቀን 2 በፊት ከሆነ ፣ የቀደመው ዘዴ እውነት ይመለሳል። ያለበለዚያ ፣ የቀደመው ዘዴ ወደ ሐሰት ይመለሳል።

    System.out.print (date1. በፊት (date2)); // እሴቱን “እውነተኛ” ያሳዩ System.out.print (date2.before (date2)); // ዋጋውን '' ሐሰት '' ይመልሱ

4301351 6
4301351 6

ደረጃ 3. የተከተለውን ዘዴ በመጠቀም ያወዳድሩ።

የሚከተለው ኮድ እውነት እና ሐሰትን የሚመልስ ምሳሌን ያሳያል። ቀን 2 ከቀን 1 ቀን በኋላ ከሆነ ፣ በኋላ ያለው ዘዴ እውነት ሆኖ ይመለሳል። ያለበለዚያ ፣ በኋላ ያለው ዘዴ ወደ ሐሰት ይመለሳል።

    System.out.print (date2.after (date1)); // ዋጋውን '' እውነተኛ '' አሳይ።

4301351 7
4301351 7

ደረጃ 4. ከእኩል ዘዴ ጋር ያወዳድሩ።

የሚከተለው ኮድ እውነት እና ሐሰትን የሚመልስ ምሳሌን ያሳያል። ሁለቱም ቀኖች እኩል ከሆኑ የእኩል ዘዴው እውነት ይመለሳል። ያለበለዚያ የእኩልነት ዘዴው ሐሰት ይመልሳል።

    System.out.print (date1.equals (date3)); // ዋጋውን '' እውነተኛ '' ያሳዩ።

ዘዴ 3 ከ 4 - የክፍል ቀን መቁጠሪያን መጠቀም

4301351 8
4301351 8

ደረጃ 1. የክፍል ቀን መቁጠሪያን ይጠቀሙ።

የቀን መቁጠሪያ ክፍሉ እንዲሁ ለቅድመ ትምህርት ክፍል ቀደም ሲል ከተገለጹት ጋር ተመሳሳይ ከሚሠሩ ዘዴዎች ጋር ንፅፅር ፣ እኩል ፣ በኋላ እና በፊት አለው። ስለዚህ የቀን መረጃ በክፍል ቀን መቁጠሪያ ውስጥ ከተከማቸ ፣ ንፅፅር ለማድረግ ቀኑን ማውጣት አያስፈልግዎትም።

4301351 9
4301351 9

ደረጃ 2. የቀን መቁጠሪያ ምሳሌን ይፍጠሩ።

በክፍል ቀን መቁጠሪያ ውስጥ ዘዴዎችን ለመጠቀም ፣ ብዙ የቀን መቁጠሪያ ሁኔታዎችን መፍጠር አለብዎት። እንደ እድል ሆኖ ፣ ቀደም ሲል ከተፈጠረው የቀን ምሳሌ እሴቶቹን መጠቀም ይችላሉ።

    የቀን መቁጠሪያ cal1 = Calendar.getInstance (); // cal1 የቀን መቁጠሪያ cal2 = Calendar.getInstance (); // cal2 የቀን መቁጠሪያ cal3 = Calendar.getInstance (); // cal3 cal1.setTime (date1) ያውጃሉ ፤ // ቀኑን በ cal1 cal2.setTime (date2) ውስጥ ያስገቡ ፤ cal3.setTime (date3);

4301351 10
4301351 10

ደረጃ 3. ቀዳሚውን ዘዴ በመጠቀም cal1 እና cal2 ን ያወዳድሩ።

የሚከተለው ኮድ የ tr ዋጋን ያወጣል

    System.out.print (cal1. በፊት (cal2)); // እሴት ይመለሳል '' እውነተኛ ''

4301351 11
4301351 11

ደረጃ 4. የተከተለውን ዘዴ በመጠቀም cal1 እና cal2 ን ያወዳድሩ።

የሚከተለው ኮድ ሐሰት ይመለሳል ምክንያቱም cal1 ከ cal2 በፊት ያለው ቀን ነው።

    System.out.print (cal1. በኋላ (cal2)); // ዋጋውን '' ሐሰት '' ይመልሱ

4301351 12
4301351 12

ደረጃ 5. የእኩል ዘዴን በመጠቀም cal1 እና cal2 ን ያወዳድሩ።

የሚከተለው ኮድ እውነት እና ሐሰትን የሚመልስ ምሳሌን ያሳያል። ግዛቱ የሚወሰነው በቀን መቁጠሪያው ምሳሌ ሲወዳደር ነው። የሚከተለው ኮድ እሴቱን “እውነተኛ” ፣ ከዚያ በሚቀጥለው መስመር ላይ “ሐሰት” ይመልሳል።

    System.out.println (cal1.equals (cal3)); // እሴቱን “እውነተኛ” ይመልሱ: cal1 == cal3 System.out.print (cal1.equals (cal2)); // እሴቱን ይመልሱ '' ሐሰት '': cal1! = cal2

ዘዴ 4 ከ 4 - getTime ን መጠቀም

4301351 13
4301351 13

ደረጃ 1. getTime ን ይጠቀሙ።

እንዲሁም የሁለት ቀኖች የጊዜ አሃድ እሴቶችን በቀጥታ ማወዳደር ይችላሉ ፣ ምንም እንኳን ቀዳሚዎቹ ሁለት ዘዴዎች ለማንበብ ቀላል እና ተመራጭ ቢሆኑም። በዚህ መንገድ 2 የጥንታዊ የውሂብ ዓይነቶችን ያወዳድራሉ ፣ ስለዚህ ኦፔራኖቹን “” ፣ እና “==” መጠቀም ይችላሉ።

4301351 14
4301351 14

ደረጃ 2. በጊዜ ቁጥር ቅርጸት የጊዜ ነገርን ይፍጠሩ።

ቀኖችን ከማወዳደርዎ በፊት ቀደም ሲል ከተፈጠረው የቀን ነገር ረጅም ኢንቲጀር እሴት መፍጠር አለብዎት። እንደ እድል ሆኖ ፣ የ getTime () ዘዴ ለእርስዎ ያደርግልዎታል።

    ረጅም ጊዜ 1 = getTime (date1); // የቀደመውን ጊዜ 1 ያውጁ 1 ረጅም ጊዜ 2 = getTime (ቀን 2); // የጥንታዊ ጊዜን 2 የቀን እሴት 2 ያውጁ

4301351 15
4301351 15

ደረጃ 3. ከማነፃፀር ያነሰ ያከናውኑ።

እነዚህን ሁለት ኢንቲጀር እሴቶች ለማወዳደር ከ (<) ያነሰ ኦፔራንድ ይጠቀሙ። ጊዜ 1 ከጊዜ 2 ያነሰ ስለሆነ ፣ የመጀመሪያው መልእክት ይመጣል። ሌላው ዓረፍተ ነገር አገባቡን ለማጠናቀቅ ተካትቷል።

    ከሆነ (time1 <time2) {System.out.println ("date1 date from date2"); // ይታያል ምክንያቱም ጊዜ 1 <time2} ሌላ {System.out.println ("date1 ከ ቀን በፊት ቀን አይደለም 2"); }

4301351 16
4301351 16

ደረጃ 4. ከንጽጽር የበለጠ ያከናውኑ።

እነዚህን ሁለት ኢንቲጀር እሴቶች ለማወዳደር ከ (>) የሚበልጥ ኦፔራንድ ይጠቀሙ። ጊዜ 1 ከጊዜ 2 ስለሚበልጥ የመጀመሪያው መልእክት ይመጣል። ሌላው ዓረፍተ ነገር አገባቡን ለማጠናቀቅ ተካትቷል።

    ከሆነ (time2> time1) {System.out.println ("date2 is date after date1"); // ይታያል ምክንያቱም time2> time1} ሌላ {System.out.println ("date2 date after date1"); }

4301351 17
4301351 17

ደረጃ 5. እኩል ንፅፅር ያካሂዱ።

እነዚህን ሁለት ኢንቲጀሮች ለማወዳደር የእሴቶችን እኩልነት (==) ለመፈተሽ የኦፔራንድ ተግባርን ይጠቀሙ። ጊዜ 1 ከጊዜ 3 ጋር እኩል ስለሆነ ፣ የመጀመሪያው መልእክት ይመጣል። የፕሮግራሙ ፍሰት ወደ ሌላ መግለጫ ከገባ ፣ ይህ ማለት ሁለቱ ጊዜያት አንድ ዓይነት እሴት የላቸውም ማለት ነው።

    ከሆነ (time1 == time2) {System.out.println (“ሁለቱም ቀኖች አንድ ናቸው”); } ሌላ {System.out.println («1 ኛ ከ 2 ኛው ጋር አንድ አይደለም»); // ይታያል ምክንያቱም ጊዜ 1! = time2}

የሚመከር: