OffsetDateTime diperkenalkan dalam Java8 untuk menyimpan data dan medan masa dengan lebih ketepatan dan ketepatan, yang membantu semasa memindahkan data daripada medium yang berbeza. Medan ini menyimpan nilai DateTime dengan ketepatan sehingga nanosaat; juga, medan ini mempunyai offset daripada UTC/Greenwich. Ia ialah perwakilan tidak berubah bagi masa tarikh bersama-sama dengan offset. Kelas ini milik java. Pakej masa dan mempunyai java.lang.Object sebagai superclassnya. Menambah offset daripada UTC/Greenwich juga membolehkan kami mendapatkan tarikh-masa tempatan. Oleh itu terbukti yang terbaik semasa berkomunikasi dengan pangkalan data atau melalui rangkaian.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks:
Di bawah ialah sintaks kelas OffsetDateTime yang merupakan ahli java. Kelas masa.
public final class OffsetDateTime extends Object implements Serializable, Temporal, TemporalAdjuster, Comparable<OffsetDateTime>
Kelas ini mewarisi kelas Objek bagi pakej java. Dengan ini, ia juga melaksanakan banyak antara muka yang diberikan di bawah:
Ini ialah antara muka penanda yang tidak mengandungi sebarang kaedah. Melaksanakan antara muka ini membantu untuk memberitahu Java bahawa OffsetDateTime menyokong pensirilan dan penyahserikatan, yang bermaksud objeknya boleh ditukar dengan mudah menjadi aliran bait. Selain itu, strim bait boleh ditukar kepada objek Java sebenar.
Ia ialah antara muka pada peringkat rangka kerja untuk menentukan akses baca-tulis untuk Objeknya. OffsetDateTime menggunakan antara muka ini untuk menjadikannya cukup lengkap untuk manipulasi tambah-tolak.
Antara muka ini menyediakan alatan untuk mengubah suai objek Temporal, seperti melaraskan tarikh yang mesti ditetapkan pada hari terakhir bulan itu. Melaksanakan antara muka ini membolehkan OffsetDateTime melaraskannya secara luaran mengikut corak reka bentuk perniagaan.
Antara muka ini membantu menyusun objek kelas berdasarkan salah satu medannya. Untuk ini, ia memberikan fungsi comapreTo(Object) yang membolehkan pengisihan objek. Oleh itu, objek OffsetDateTime boleh diisih dengan cepat menggunakan fungsi ini.
OffsetDateTime, ZonedDateTime dan Instant ialah kelas Java8 yang membantu menyimpan seketika masa dengan ketepatan sehingga nanosaat yang diberikan di bawah:
Kelas ini tidak mempunyai pembina yang boleh diakses; ia adalah muktamad dan tidak berubah. Oleh itu (==), penggunaan kod cincang identiti pada objeknya adalah dilarang. Jenis kelas sedemikian juga dikenali sebagai kelas berasaskan nilai. Oleh itu, kaedah .equals() diutamakan untuk perbandingan kelas tersebut. Sebagai contoh, nilai yang disimpan dalam OffsetDateTime boleh diwakili sebagai"2 Oktober 2007 pada 13:45.30.123456789 +02:00″.
Bidang:
Field Name | Description |
MAX | It is a static field of OffsetDateTime type, which stores the maximum supported value that is.
‘+999999999-12-31T23:59:59.999999999-18:00’ |
MIN | It is a static field of OffsetDateTime type, which stores the maximum supported value that is.
‘-999999999-01-01T00:00:00+18:00’ |
Let’s see some of the Java OffsetDateTime methods.
It is used to get the int value from a date-time field.
You can use this function to retrieve the numerical value of the day in a given month, and it will return a value between – 1 to 31.
Code:
import java.time.OffsetDateTime; public class Demo { public static void main(String[] args) { OffsetDateTime mydate = OffsetDateTime.parse("2020-01-26T12:30:30+01:00"); System.out.println("DayOfMonth output - "+mydate.getDayOfMonth()); } }
Output:
This function gives the day of the year field from the value specified. Its output is an integer within the range of 1 to 365.
Code:
import java.time.OffsetDateTime; public class HelloWorld{ public static void main(String []args){ OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00"); System.out.println("DayOfYear output - "+mydate.getDayOfYear()); } }
Output:
This function returns an enum of DayOfWeek to tell which day of the week is specified. Enum consists of int value and the names of the week that help avoid confusion about what the number represents.
Code:
import java.time.OffsetDateTime; public class Main{ public static void main(String []args){ OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00"); System.out.println("DayOfWeek output - "+ mydate.getDayOfWeek()); } }
Output:
This function returns the OffsetDateTime object after subtracting the specified number of days from it.
Code:
import java.time.OffsetDateTime; public class Main{ public static void main(String []args){ OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00"); System.out.println("minusDays output - "+ mydate.minusDays(2)); } }
Output:
This function returns the current date-time from the system clock in the time zone. Return type if OffsetDateTime only.
Code:
import java.time.OffsetDateTime; public class Main{ public static void main(String []args){ OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00"); System.out.println("now output - "+ mydate.now()); } }
Output:
This function returns the OffsetDateTime object after adding the specified number of days to it.
Code:
import java.time.OffsetDateTime; public class Main{ public static void main(String []args){ OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00"); System.out.println("plusDays output - "+ mydate.plusDays(5)); } }
Output:
This function returns the LocalDate part of date-time.
Code:
import java.time.OffsetDateTime; public class Main{ public static void main(String []args){ OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00"); System.out.println("toLocalDate output - "+ mydate.toLocalDate()); } }
Output:
This function helps to convert date-time to Offset Time.
Code:
import java.time.OffsetDateTime; public class Main{ public static void main(String []args){ OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00"); System.out.println("toOffsetTime output - "+ mydate.toOffsetTime()); } }
Output:
This function helps convert the object to ZonedDateTime type, a fully DST-aware date-time representation that handles daylight saving conversion much easier.
Code:
import java.time.OffsetDateTime; public class Main{ public static void main(String []args){ OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00"); System.out.println("toZonedDateTime output - "+ mydate.toZonedDateTime()); } }
Output:
The OffsetDateTime class introduces the storage of date-time fields with precision up to nanoseconds. It utilizes an offset of UTC/Greenwich in the ISO calendar system. These options find the highest preference when working with databases or transferring data over the network. It supports many functions to extract different information in different formats.
Atas ialah kandungan terperinci Java OffsetDateTime. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!