1. LocalDateTimeவர்க்கம்

வகுப்பு மற்றும் வகுப்புகளின் LocalDateTimeதிறன்களை ஒருங்கிணைக்கிறது : இது தேதி மற்றும் நேரம் இரண்டையும் சேமிக்கிறது. அதன் பொருள்களும் மாறாதவை, மேலும் அதன் முறைகள் மற்றும் வகுப்புகளைப் போலவே இருக்கும் .LocalDateLocalTimeLocalDateLocalTime

தற்போதைய தேதி மற்றும் நேரத்தைப் பெறுதல்

இங்கே நீங்கள் எதிர்பார்ப்பது போல் எல்லாம் உள்ளது: நாங்கள் now()முறையைப் பயன்படுத்துகிறோம். உதாரணமாக:

குறியீடு கன்சோல் வெளியீடு
LocalDateTime time = LocalDateTime.now();
System.out.println("Now = " + time);

Now = 2019-02-22T09:49:19.275039200

திரையில் காட்டப்படும் போது, ​​தேதி மற்றும் நேரம் கடிதம் மூலம் பிரிக்கப்படும் T.

ஒரு குறிப்பிட்ட தேதி மற்றும் நேரத்தைப் பெறுதல்

LocalDateஆச்சரியப்படத்தக்க வகையில், எல்லாம் மற்றும் வகுப்புகளுக்கு ஒத்திருக்கிறது LocalTime- நாங்கள் of()முறையைப் பயன்படுத்துகிறோம்:

... = LocalDateTime.of(year, month, day, hours, minutes, seconds);

முதலில், வகுப்பில் உள்ள அதே வடிவங்களில் தேதியைக் குறிப்பிடும் அளவுருக்கள் உள்ளன LocalDate. பின்னர் வகுப்பில் உள்ள அதே வடிவங்களில் நேரத்தைக் குறிப்பிடும் அளவுருக்கள் உள்ளன LocalTime. முறையின் அனைத்து மாறுபாடுகளின் பட்டியல் of()கீழே கொடுக்கப்பட்டுள்ளது:

முறைகள்
of (int year, int month, int day, int hour, int minute)
of (int year, int month, int day, int hour, int minute, int second)
of (int year, int month, int day, int hour, int minute, int second, int nano)
of (int year, Month month, int day, int hour, int minute)
of (int year, Month month, int day, int hour, int minute, int second)
of (int year, Month month, int day, int hour, int minute, int second, int nano)
of (LocalDate date, LocalTime time)

நீங்கள் தேதியை நேரடியாக அமைக்கலாம் அல்லது பொருள்கள் மூலம் மறைமுகமாக LocalDateஅமைக்கலாம் LocalTime:

குறியீடு
LocalDate date = LocalDate.now();
LocalTime time = LocalTime.now();
LocalDateTime current = LocalDateTime.of(date, time);
System.out.println("Now = " + current);

LocalDateTime date = LocalDateTime.of(2019, Month.MAY, 15, 12, 15, 00);
System.out.println("Now = " + date);
கன்சோல் வெளியீடு
Now = 2019-02-22T10:05:38.465675100
Now = 2019-05-15T12:15

வகுப்பில் LocalDateTimeதேதி மற்றும்/அல்லது நேரத்தின் கூறுகளைப் பெறுவதற்கான முறைகள் உள்ளன. LocalDateஅவை வகுப்புகள் மற்றும் முறைகளை சரியாக பிரதிபலிக்கின்றன LocalTime. அவற்றை இங்கு மீண்டும் செய்ய மாட்டோம்.



2. Instantவர்க்கம்

ஜாவாவின் படைப்பாளிகளும் பழைய பள்ளி வழிகளை மறக்கவில்லை.

தேதி நேர API ஆனது கணினிகளில் நிகழும் செயல்முறைகளை நோக்கமாகக் கொண்ட நேரத்துடன் வேலை செய்வதற்கான உடனடி வகுப்பை உள்ளடக்கியது. மணிநேரம், நிமிடங்கள் மற்றும் வினாடிகளுக்குப் பதிலாக, இது வினாடிகள், மில்லி விநாடிகள் மற்றும் நானோ விநாடிகளைக் கையாள்கிறது .

இந்த வகுப்பில் இரண்டு புலங்கள் உள்ளன:

  • ஜனவரி 1, 1970 முதல் கடந்த வினாடிகளின் எண்ணிக்கை
  • பல நானோ விநாடிகள்

வகுப்பு டெவலப்பர்களுக்காக உருவாக்கப்பட்டதா? ஆம். அதனால்தான் இது 1970 ஆம் ஆண்டின் தொடக்கத்தில் தொடங்கும் யுனிக்ஸ்-டைமில் நேரத்தைக் கணக்கிடுகிறது.

புரோகிராமர்களுக்குத் தேவையானதை மட்டும் தக்கவைத்து, வகுப்பின் Instantஎளிமைப்படுத்தப்பட்ட பதிப்பு என்று கூட ஒருவர் கூறலாம் .Date

Instantஒரு பொருளைப் போலவே நீங்கள் ஒரு பொருளைப் பெறலாம் LocalTime:

Instant timestamp = Instant.now();

timestampஒரு மாறி எங்கே Instant, மற்றும் வகுப்பின் நிலையான முறைக்கான அழைப்பு .Instant.now()now()Instant

உதாரணமாக:

குறியீடு கன்சோல் வெளியீடு
Instant timestamp = Instant.now();
System.out.println(timestamp);

2019-02-22T08:42:42.234945300Z

of()ஜனவரி 1, 1970 முதல் கழிந்த நேரத்தை கடந்து, முறையின் மாறுபாடுகளைப் பயன்படுத்தி நீங்கள் ஒரு புதிய பொருளை உருவாக்கலாம் :

ofEpochMilli(long milliseconds)
நீங்கள் மில்லி விநாடிகளின் எண்ணிக்கையை கடக்க வேண்டும்
ofEpochSecond(long seconds)
நீங்கள் வினாடிகளின் எண்ணிக்கையை கடக்க வேண்டும்
ofEpochSecond(long seconds, long nanos)
நீங்கள் வினாடிகள் மற்றும் நானோ விநாடிகளை கடக்க வேண்டும்

Instantபொருள்களில் கிடைக்கும் முறைகள்

உடனடி வகுப்பில் அதன் புலங்களின் மதிப்புகளை வழங்கும் இரண்டு முறைகள் உள்ளன:

long getEpochSecond()
ஜனவரி 1, 1970 முதல் கடந்த வினாடிகளின் எண்ணிக்கை
int getNano()
நானோ வினாடிகள்.
long toEpochMilli()
ஜனவரி 1, 1970 முதல் கடந்த மில்லி விநாடிகளின் எண்ணிக்கை

Instantஏற்கனவே உள்ள ஒன்றை அடிப்படையாகக் கொண்டு புதிய பொருட்களை உருவாக்குவதற்கான முறைகளும் உள்ளன :

Instant plusSeconds(long)
தற்போதைய நேரத்திற்கு வினாடிகளைச் சேர்க்கிறது
Instant plusMillis(long)
மில்லி விநாடிகள் சேர்க்கிறது
Instant plusNanos(long)
நானோ விநாடிகளைச் சேர்க்கிறது
Instant minusSeconds(long)
வினாடிகளைக் கழிக்கிறது
Instant minusMillis(long)
மில்லி விநாடிகளைக் கழிக்கிறது
Instant minusNanos(long)
நானோ வினாடிகளைக் கழிக்கிறது

எடுத்துக்காட்டுகள்:

குறியீடு கன்சோல் வெளியீடு
Instant timestamp = Instant.now();
System.out.println(timestamp);

long n = timestamp.toEpochMilli();
Instant time = Instant.ofEpochMilli(n);
System.out.println(time);

2019-02-22T09:01:20.535344Z



2019-02-22T09:01:20.535Z