Rumah > Java > javaTutorial > Java OffsetDateTime

Java OffsetDateTime

WBOY
Lepaskan: 2024-08-30 15:51:45
asal
397 orang telah melayarinya

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>
Salin selepas log masuk

Antaramuka Java OffsetDateTime

Kelas ini mewarisi kelas Objek bagi pakej java. Dengan ini, ia juga melaksanakan banyak antara muka yang diberikan di bawah:

1. Boleh disiri

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.

2. Tempoh

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.

3. TemporalAdjuster

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.

4. Setanding

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:

  • Semerta: Ia adalah yang paling mudah daripada ketiga-tiganya. Kelas OffsetDateTime menambah offset daripada UTC/Greenwich kepada seketika, yang membantu untuk mendapatkan tarikh-masa setempat. Kelas zonedDateTime menambah peraturan zon sepenuh masa.
  • ZonedDateTime: Ia lebih mudah digunakan dan sedar DST sepenuhnya yang membantu dalam pelarasan penjimatan siang dengan lebih mudah. Ia menggunakan ofset masa tempatan daripada sistem kalendar ISO-8601.
  • OffsetDateTime: Kelas ini serupa dengan ZonedDateTime tetapi menggunakan offset daripada UTC/Greenwich dalam sistem kalendar ISO-8601. Terutamanya, ini adalah kaedah komunikasi pilihan apabila berurusan dengan pangkalan data dan rangkaian.

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’

Nama Medan Penerangan MAX Ia ialah medan statik jenis OffsetDateTime, yang menyimpan nilai maksimum yang disokong iaitu. ‘+999999999-12-31T23:59:59.999999999-18:00’ MIN Ia ialah medan statik jenis OffsetDateTime, yang menyimpan nilai maksimum yang disokong iaitu. ‘-999999999-01-01T00:00:00+18:00’

Methods of Java OffsetDateTime

Let’s see some of the Java OffsetDateTime methods.

1. int get(TemporalField field)

It is used to get the int value from a date-time field.

2. int getDayOfMonth()

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());
}
}
Salin selepas log masuk

Output:

Java OffsetDateTime

3. int getDayOfYear()

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());
}
}
Salin selepas log masuk

Output:

Java OffsetDateTime

4. DayOfWeek getDayOfWeek()

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());
}
}
Salin selepas log masuk

Output:

Java OffsetDateTime

5. OffsetDateTime minusDays(long days)

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)); } }
Salin selepas log masuk

Output:

Java OffsetDateTime

6. Static OffsetDateTime now()

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());
}
}
Salin selepas log masuk

Output:

Java OffsetDateTime

7. OffsetDateTime plusDays(long days)

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)); } }
Salin selepas log masuk

Output:

Java OffsetDateTime

8. LocalDate toLocalDate()

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());
}
}
Salin selepas log masuk

Output:

Java OffsetDateTime

9. Offset toOffsetTime()

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());
}
}
Salin selepas log masuk

Output:

Java OffsetDateTime

10. ZonedDateTime toZonedDateTime()

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());
}
}
Salin selepas log masuk

Output:

Java OffsetDateTime

Conclusion

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!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan