
"Bună, Amigo. Vreau să vă spun despre un tip interesant numit Data. Acest tip stochează data și ora și poate măsura și intervale de timp."
— Sună interesant. Te rog, continuă.
„Fiecare obiect Date stochează un timp într-o formă destul de interesantă: numărul de milisecunde de la 1 ianuarie 1970, GMT”.
"Uau!"
"Da. Acest număr este atât de mare încât nu este suficient loc pentru el într-un int , așa că trebuie să fie stocat într-un lung . Dar este foarte util pentru a calcula diferența dintre oricare două date. Faceți doar scăderea pentru a găsi diferența cu precizie la milisecundă. De asemenea, rezolvă problema liniei de dată și a orei de vară."
„Cea mai interesantă parte este că fiecare obiect este inițializat cu ora curentă la crearea sa. Pentru a cunoaște ora curentă, trebuie doar să creați un obiect Date.”
"Cum lucrezi cu el?"
"Aici sunt cateva exemple:"
public static void main(String[] args) throws Exception
{
Date today = new Date();
System.out.println("Current date: " + today);
}
public static void main(String[] args) throws Exception
{
Date currentTime = new Date(); // Get the current date and time
Thread.sleep(3000); // Wait 3 seconds (3000 milliseconds)
Date newTime = new Date(); // Get the new current time
long msDelay = newTime.getTime() - currentTime.getTime(); // Calculate the difference
System.out.println("Time difference is: " + msDelay + " in ms");
}
public static void main(String[] args) throws Exception
{
Date startTime = new Date();
long endTime = startTime.getTime() + 5000; // +5 seconds
Date endDate = new Date(endTime);
Thread.sleep(3000); // Wait 3 seconds
Date currentTime = new Date();
if(currentTime.after(endDate))// Check whether currentTime is after endDate
{
System.out.println("End time!");
}
}
public static void main(String[] args) throws Exception
{
Date currentTime = new Date();
int hours = currentTime.getHours();
int mins = currentTime.getMinutes();
int secs = currentTime.getSeconds();
System.out.println("Time since midnight " + hours + ":" + mins + ":" + secs);
}
public static void main(String[] args) throws Exception
{
Date yearStartTime = new Date();
yearStartTime.setHours(0);
yearStartTime.setMinutes(0);
yearStartTime.setSeconds(0);
yearStartTime.setDate(1); // First day of the month
yearStartTime.setMonth(0); // January (the months are indexed from 0 to 11)
Date currentTime = new Date();
long msTimeDifference = currentTime.getTime() - yearStartTime.getTime();
long msDay = 24 * 60 * 60 * 1000; // The number of milliseconds in 24 hours
int dayCount = (int) (msTimeDifference/msDay); // The number of full days
System.out.println("Days since the start of the year: " + dayCount);
}
„ getTime()
Metoda returnează numărul de milisecunde stocat într-un obiect Date.”
„ after()
Metoda verifică dacă data la care am apelat metoda vine după data trecută metodei.”
„ getHours(), getMinutes(), getSeconds()
Metodele returnează numărul de ore, minute și, respectiv, secunde pentru obiectul pe care au fost apelate.”
„Mai mult, în ultimul exemplu puteți vedea că puteți modifica data/ora stocată într-un obiect Date . Obținem ora și data curente și apoi resetam orele, minutele și secundele la 0. De asemenea, am setat ianuarie ca luna și 1 ca zi a lunii. Astfel, obiectul yearStartTime
stochează data 1 ianuarie a anului curent și ora 00:00:00."
„După aceea, obținem din nou data curentă ( currentTime
), calculăm diferența dintre cele două date în milisecunde și o stocăm în msTimeDifference
”.
„Apoi împărțim msTimeDifference
la numărul de milisecunde în 24 de ore pentru a obține numărul de zile întregi de la începutul anului curent până astăzi”.
"Wow! E atât de tare!"
GO TO FULL VERSION