5 ویژگی مفید API تاریخ و زمان Java 8

در سال 2014 انتشار جاوا 8 یک API تاریخ و زمان جدید معرفی کرد. با وارد کردن بسته java.time می توانید به راحتی به این API دسترسی پیدا کنید.

با API تاریخ و زمان Java 8 ، توسعه دهندگان به راحتی به تاریخ ها ، زمان ها ، مناطق زمانی ، فوری ، مدت زمان و دوره دسترسی دارند. این ویژگی ها از طریق لیست گسترده ای از کلاس ها در بسته java.time در دسترس است.

در این آموزش ، شما پنج ویژگی مفید API تاریخ و زمان Java 8 را یاد خواهید گرفت.

1. دریافت زمان محلی خود

API تاریخ و زمان جاوا 8 دارای کلاسی به نام LocalTime است . این کلاس زمان را در قالب ساعت-دقیقه-ثانیه ارائه می دهد .

مطالب مرتبط: API به چه معناست؟ نمونه هایی از نحوه استفاده از API ها

برای استفاده از زمان فعلی خود از این کلاس ، ابتدا باید یک شی جدید از کلاس LocalTime ایجاد کنید . سپس شیء بازیابی شده از متد now () را به آن منتقل کنید. سپس شیء جدید ایجاد شده زمان فعلی اجرای برنامه را ذخیره می کند. این به این دلیل است که متد now () زمان فعلی را از ساعت سیستم موجود در رایانه شما بازیابی می کند.

با استفاده از مثال کلاس LocalTime

 import java.time.LocalTime;

public class DateTimeAPI {
public static void main(String[] args) {
// create a new time object that stores the local time
LocalTime time = LocalTime.now();

System.out.println("The current hour is: " + time.getHour());
System.out.println("The current minute is: " + time.getMinute());
System.out.println("The current second is: " + time.getSecond());
System.out.println("The current time to the nanosecond is: " + time);
}
}

کد بالا چندین کار ساده را با استفاده از روشهای مختلف LocalTime انجام می دهد. اجرای کد بالا خروجی زیر را در کنسول تولید می کند.

 The current hour is: 10
The current minute is: 45
The current second is: 19
The current time to the nanosecond is: 10:45:19.324014300

2. تاریخ محلی خود را دریافت کنید

می توانید تاریخ محلی خود را از طریق API تاریخ و زمان Java 8 دریافت کنید ، تقریباً همانطور که زمان محلی خود را بازیابی می کنید. تنها تفاوت این است که شما به جای کلاس LocalTime از کلاس LocalDate استفاده می کنید.

مطالب مرتبط: نحوه ایجاد کلاس در جاوا را بیاموزید

کلاس LocalDate از ساختار سال-ماه-روز برای نمایش تاریخ سیستم بر روی رایانه شما با استفاده از متد now () استفاده می کند. کلاس LocalDate دسترسی به بیش از 50 روش مختلف را فراهم می کند ، اما روشهایی که ممکن است بیشتر از آنها استفاده کنید به شرح زیر است.

  • now () (هیچ استدلالی نمی گیرد و تاریخ فعلی را برمی گرداند)
  • getYear () (هیچ استدلالی نمی گیرد و سال جاری را برمی گرداند)
  • getMonth () (هیچ استدلالی نمی گیرد و ماه جاری را برمی گرداند)
  • getDayOfWeek () (هیچ استدلالی نمی گیرد و روز جاری هفته را برمی گرداند)
  • getDayOfMonth () (هیچ استدلالی نمی گیرد و روز جاری ماه را برمی گرداند)
  • getDayOfYear () (هیچ استدلالی نمی گیرد و روز جاری سال را برمی گرداند)

با استفاده از مثال کلاس LocalDate

 import java.time.LocalDate;

public class DateTimeAPI {
public static void main(String[] args) {
// create a new date object that stores the local date
LocalDate date = LocalDate.now();

System.out.println("The current year is: " + date.getYear());
System.out.println("The current month is: " + date.getMonth());
System.out.println("The current day of the week is: " + date.getDayOfWeek());
System.out.println("The current day of the Month is: " + date.getDayOfMonth());
System.out.println("The current day of the year is: " + date.getDayOfYear());
System.out.println("The current date is: " + date);
}
}

کد بالا خروجی زیر را در کنسول تولید می کند.

 The current year is: 2021
The current month is: SEPTEMBER
The current day of the week is: TUESDAY
The current day of the Month is: 14
The current day of the year is: 257
The current date is: 2021-09-14

3. بررسی کنید آیا سال جاری یک سال کبیسه است یا خیر

از جمله روشهای متعدد در کلاس LocalDate ، متد isLeapYear () است. می توانید از این روش برای بررسی اینکه آیا یک سال معین سال کبیسه است یا خیر استفاده کنید. برای بررسی سال جاری، شما می توانید یک شی LOCALDATE جدید با استفاده از روش هم اکنون ()، ایجاد و استفاده از روش isLeapYear () بر روی شی به تازگی ایجاد شده.

استفاده از متد isLeapYear () در یک شیء LocalDate یک مقدار بولین را برمی گرداند ، که اگر سال کبیسه باشد و در غیر این صورت نادرست باشد ، صادق خواهد بود.

با استفاده از روش متد isLeapYear ()

 import java.time.LocalDate;

public class DateTimeAPI {
public static void main(String[] args) {
// create an object to store the current date.
LocalDate date = LocalDate.now();

// check if the current year is a leap year.
boolean isLeap = date.isLeapYear();

// get the current year from the current date.
int year = date.getYear();

// tell the user if the current year is a leap year.
if (isLeap) {
System.out.println(year + " is a leap year.");
} else {
System.out.println(year + " is not a leap year.");
}
}
}

کد بالا خروجی زیر را در کنسول تولید می کند.

 
2021 is not a leap year.

4. تاریخ و زمان محلی خود را دریافت کنید

در API تاریخ و زمان جاوا 8 کلاسی به نام LocalDateTime وجود دارد . همانطور که از نامش پیداست ، می توانید از این کلاس برای دریافت تاریخ و زمان در مکان فعلی خود استفاده کنید.

کلاس چندین روش مهم دارد ، اما متد now () ممکن است روشی باشد که می خواهید ابتدا با آن آشنا شوید. متد now () کلاس LocalDateTime تاریخ و زمان مکان فعلی شما را برمی گرداند. از ساعت T-year-day-day-day استفاده می کند: دقیقه: ساختار ثانیه ؛ جایی که تاریخ ابتدا ظاهر می شود و حرف t آن را از زمان جدا می کند.

با استفاده از مثال کلاس LocalDateTime

 import java.time.LocalDateTime;

public class DateTimeAPI {
public static void main(String[] args) {
// create a new date object that stores the local date
LocalDateTime dateTime = LocalDateTime.now();

// the current time
System.out.println("The current hour is: " + dateTime.getHour());
System.out.println("The current minute is: " + dateTime.getMinute());
System.out.println("The current second is: " + dateTime.getSecond());

// the current date
System.out.println("The current year is: " + dateTime.getYear());
System.out.println("The current month is: " + dateTime.getMonth());
System.out.println("The current day of the week is: " + dateTime.getDayOfWeek());
System.out.println("The current day of the Month is: " + dateTime.getDayOfMonth());
System.out.println("The current day of the year is: " + dateTime.getDayOfYear());

// the current date and time
System.out.println("The current date and time is: " + dateTime);
}
}

کد بالا خروجی زیر را در کنسول تولید می کند.

 The current hour is: 11
The current minute is: 9
The current second is: 30
The current year is: 2021
The current month is: SEPTEMBER
The current day of the week is: TUESDAY
The current day of the Month is: 14
The current day of the year is: 257
The current date and time is: 2021-09-14T11:09:30.009675800

همانطور که در خروجی بالا مشاهده می کنید ، کلاس LocalDateTime می تواند ترکیب تاریخ و زمان و همچنین مقادیر فردی (مانند ماه جاری) را که می توانید از کلاس های LocalDate و LocalTime دریافت کنید ، ایجاد کند.

5. تاریخ و زمان فعلی یک مکان را با استفاده از منطقه زمانی آن دریافت کنید

همانطور که تاکنون مشاهده کرده اید ، API تاریخ و زمان جاوا 8 دارای ویژگی های مفید بسیاری است. یکی دیگر از موارد مفید ، توانایی آن در بدست آوردن منطقه زمانی مکان فعلی شما ، یا تاریخ و زمان در مکانی با استفاده از منطقه زمانی آن است.

با استفاده از مثال کلاس ZonedDateTime

 import java.time.ZoneId;
import java.time.ZonedDateTime;

public class DateTimeAPI {
public static void main(String[] args) {
// create a new object to store your local date, time, and time-zone.
ZonedDateTime zDateTime = ZonedDateTime.now();

// create a zoneId object to store your local time-zone
ZoneId localTimeZone = zDateTime.getZone();

// create a new zoneId object to store the zoneId provided by the user
ZoneId newZoneId = ZoneId.of("GMT-03:00");

// create an object to store the current date, time, and time-zone
// retrieved using the zoneId provide by the user
ZonedDateTime newLocation = ZonedDateTime.now(newZoneId);

System.out.println("The date, time, and time-zone at your current location is: " + zDateTime);
System.out.println("The time-zone at your current location is: " + localTimeZone);
System.out.println("The date, time, and time-zone at the new time-zone is: " + newLocation );
}
}

در کد بالا اتفاقات زیادی می افتد. مانند کلاسهای قبلی ، کلاس ZoneDateTime از متد now () استفاده می کند که در این حالت یک شی با تاریخ ، زمان و منطقه زمانی فعلی را برمی گرداند.

با این حال ، برخلاف نمونه های قبلی ، کلاس ZoneDateTime یک منطقه زمانی را از کاربر می گیرد و تاریخ و زمان مناسب را برمی گرداند.

کد بالا خروجی زیر را در کنسول تولید می کند.

 The date, time, and time-zone at your current location is: 2021-09-14T15:00:17.029010300-05:00[GMT-05:00]
The time-zone at your current location is: GMT-05:00
The date, time, and time-zone at the new time-zone is: 2021-09-14T17:00:17.042989-03:00[GMT-03:00]

همانطور که در خروجی بالا مشاهده می کنید ، منطقه زمانی GMT-03: 00 دو ساعت جلوتر از منطقه زمانی GMT-05: 00 است.

درباره API ها بیشتر بدانید

در این آموزش ، شما با پنج ویژگی برتر که با API تاریخ و زمان Java 8 همراه هستند آشنا شده اید. این لیست به هیچ وجه کامل نیست و ویژگی های دیگری از API وجود دارد که می توانید آنها را کاوش کنید.

با این حال ، اگر درباره نحوه عملکرد API ها به طور کلی کنجکاو هستید ، منابعی نیز در این زمینه به شما کمک می کند.