Kiểu date trong java

Các lớp Date, time, calendar trong Java

ClassMô tả
java.util.

You watching: Kiểu date trong java

Date
Một lớp đại diện thay mặt cho một ngày mon năm cùng thời hạn. Tiếc là hầu như những cách thức của nó đã bị lạc hậu, đề xuất là tránh việc áp dụng các cách tiến hành đó, tuy vậy lớp Date vẫn được thực hiện rỗng rãi.
java.util.concurrent.TimeUnitTimeUnit là một trong những Enum mô tả những đơn vị tháng ngày năm cùng thời hạn.
java.sql.DateMột lớp biểu đạt ngày tháng năm. tin tức về thời hạn bị cắt vứt. Lớp này thường áp dụng trong JDBC.
java.sql.TimeMột lớp thể hiện thời hạn (Giờ thời gian, milli giây), và không đựng lên tiếng tháng ngày năm.Lớp này thường áp dụng trong JDBC.
java.sql.TimestampMột lớp bộc lộ tháng ngày năm cùng thời gian. Lớp này thường xuyên áp dụng trong JDBC.
java.util.CalendarLớp biểu đạt cỗ Lịch. Nó gồm những thủ tục tân oán học về thời gian, chẳng hạn thêm ngày, bớt ngày,…
java.util.GregorianCalendarLà một tấm bé trực tiếp của java.util.Calendar, biểu đạt ngày Dương Lịch, bộ kế hoạch được sử dụng thoáng rộng bên trên thế giới thời buổi này. Nó tất cả tất cả những method từ java.util.Calendar nhằm thao tác toán thù học bên trên ngày tháng năm cùng thời hạn.
java.util.TimeZoneTimeZone là lớp thể hiện múi tiếng, nó hữu ích khi chúng ta thao tác làm việc với Lịch trên múi giờ đồng hồ.
java.text.

See more: Kích Thước Ảnh 3X4 Là Bao Nhiêu Pixel? Những Điều Nên Biết Kích Thước Ảnh 3X4 Chuẩn

SimpleDateFormat
Lớp này khiến cho bạn gửi một String có format ngày tháng lịch sự kiểu Date và ngược lại
java.time.*Lớp này hỗ trợ tương đối đầy đủ các API xử lý ngày giờ vào Java. Đây là lớp bắt đầu được hỗ trợ từ bỏ Java 8.

System.currentTimeMillis()

System.currentTimeMillis() thường xuyên được áp dụng để đo khoảng thời gian làm một việc nào đấy bằng cách Điện thoại tư vấn method này trước lúc ban đầu quá trình, cùng sau thời điểm dứt công việc.

package com.hillarypac.org;public class JobTimeDemo { // Đây là cách thức tính tổng những số từ một cho tới 100. private static int sum() { int sum = 0; for (int i = 0; i Kết quả:

Distance time in milli second: 3

TimeUnit

TimeUnit là 1 trong Enum, nó được đưa vào tự Java5. Nó tất cả một số trong những method đổi khác giữa những đơn vị chức năng thời gian, với thực thụ hữu ích vào một vài tình huống.

Ví dụ:

// Số phút ít.int minute = 5;// Chuyển số phút ít trên ra mili giây.// Đây là biện pháp truyền thống lịch sử rất có thể bạn từng sử dụng.int millisecond = minute * 60 * 1000;// Sử dụng TimeUnit:long millisecond = TimeUnit.MINUTES.toMillis(minute);Một số method của TimeUnit:

// Đổi lịch sự nano giây (nanoseconds).public long toNanos(long d); // Đổi sang micro giây (microseconds).public long toMicros(long d); // Đổi sang mili giây (milliseconds)public long toMillis(long d); // Đổi quý phái giây (seconds).public long toSeconds(long d); // Đổi sang trọng phút ít (minutes).public long toMinutes(long d); // Đổi sang trọng tiếng (hours).public long toHours(long d); // Đổi sang ngày (days).public long toDays(long d) ; // Chuyển trở qua đơn vị thời gian khác, mang đến bởi vì ttê mê số "u".public long convert(long d, TimeUnit u);

java.util.Date

java.util.Date là 1 trong những trong số class biểu thị ngày tháng trước tiên vào Java. Thật không mong muốn là hầu hết các cách làm của nó đã lạc hậu, và gắng vào sẽ là thực hiện các cách tiến hành của java.util.Calendar. Nhưng bạn vẫn rất có thể sử dụng java.util.Date nhằm diễn tả tháng ngày.

Chỉ còn 2 Constructor có thể sử dụng:

date1 compareTo date2 = -1date1 before date2 ? truedate1 after date2 ? falsedate1 before date2

Date, Time, Timestamp (java.sql)


java.sql.Datejava.sql.Timejava.sql.Timestamp
*

Calendar bao gồm một vài class con:

GregorianCalendarJapaneseImperialCalendarBuddhistCalendar

Calendar là một trong class trừu tượng. Nghĩa là các bạn quan yếu khởi chế tác nó từ bỏ cấu tử (Constructor). Tuy nhiên có 2 method tĩnh để tạo ra đối tượng Calendar.

public static Calendar getInstance(); public static Calendar getInstance(TimeZone zone); public static Calendar getInstance(Locale aLocale); public static Calendar getInstance(TimeZone zone,Locale aLocale);lúc bạn thực hiện Calendar.getInstance(TimeZone,Locale) sẽ cảm nhận trả về là 1 trong số class nhỏ nói bên trên. Mà đa số là trả về GregorianCalendar.

gọi Calendar.getInstance() trả về đối tượng người sử dụng Calendar cùng với tđắm đuối số TimeZone theo máy vi tính của bạn cùng Locale mang định.

Một số method quan tiền trọng:

Pmùi hương thức get(int)Giá trị trả về
get(Calendar.DAY_OF_WEEK)1 (Calendar.SUNDAY) tới 7 (Calendar.SATURDAY).
get(Calendar.YEAR)Năm (year)
get(Calendar.MONTH)0 (Calendar.JANUARY) cho tới 11 (Calendar.DECEMBER).
get(Calendar.DAY_OF_MONTH)1 cho tới 31
get(Calendar.DATE)1 tới 31
get(Calendar.HOUR_OF_DAY)0 tới 23
get(Calendar.MINUTE)0 cho tới 59
get(Calendar.SECOND)0 cho tới 59
get(Calendar.MILLISECOND)0 cho tới 999
get(Calendar.HOUR)0 cho tới 11, được sử dụng với Calendar.AM_PM.
get(Calendar.AM_PM)0 (Calendar.AM) hoặc 1 (Calendar.PM).
get(Calendar.DAY_OF_WEEK_IN_MONTH)DAY_OF_MONTH 1 cho tới 7 luôn luôn tương ứng cùng với DAY_OF_WEEK_IN_MONTH 1;

8 tới 14 khớp ứng cùng với DAY_OF_WEEK_IN_MONTH 2, …

get(Calendar.DAY_OF_YEAR)1 tới 366
get(Calendar.ZONE_OFFSET)Giá trị GMT của múi tiếng.
get(Calendar.ERA)Biểu thị AD (GregorianCalendar.AD), BC (GregorianCalendar.BC).

See more: Anh Ơi Trái Tim Này Chỉ Yêu Mỗi Anh Thôi Lời Bài Hát Archives

Một số method khác của Calendar:

void set(int calendarField, int value)void set(int year, int month, int date)void set(int year, int month, int date, int hour, int minute, int second) // Thêm hoặc trừ một khoảng chừng thời gian trên một ngôi trường (field) của Calendar.// Dựa bên trên nguyên tắc của cục Lịch.void add(int field, int amount) // Cuộn (lên/xuống) một trường (field) của Calendar. // roll(): Không làm cho ảnh hưởng tới các trường khác của Calendar.void roll(int calendarField, boolean up) // Cuộn lên (roll up) một trường của Calendar.// roll(): Không có tác dụng tác động cho tới những trường khác của Calendar.void roll(int calendarField, int amount): // Trả về đối tượng người sử dụng Date dựa vào quý giá của Calendar.Date getTime() void setTime(Date date) // Trả về số mili giây của đối tượng người tiêu dùng Calendar này.long getTimeInMills(): void setTimeInMillis(long millis) void setTimeZone(TimeZone value)Ví dụ:

package com.hillarypac.org;import java.util.Calendar;public class CalendarDemo public static void calendarField() // Tạo một đối tượng Calendar (Lịch) khoác định.// Với time zone (múi giờ) và locale mang định.Calendar c = Calendar.getInstance();int year = c.get(Calendar.YEAR);// Trả về giá trị từ 0 - 11int month = c.get(Calendar.MONTH);int day = c.get(Calendar.DAY_OF_MONTH);int hour = c.get(Calendar.HOUR_OF_DAY);int minute = c.get(Calendar.MINUTE);int second = c.get(Calendar.SECOND);int millis = c.get(Calendar.MILLISECOND);System.out.println("Year: " + year);System.out.println("Month: " + (month + 1));System.out.println("Day: " + day);System.out.println("Hour: " + hour);System.out.println("Minute: " + minute);System.out.println("Second: " + second);System.out.println("Minute: " + minute);System.out.println("Milli Second: " + millis);public static void showCalendar(Calendar c) int year = c.get(Calendar.YEAR);// Trả về quý hiếm từ bỏ 0 - 11int month = c.get(Calendar.MONTH);int day = c.get(Calendar.DAY_OF_MONTH);int hour = c.get(Calendar.HOUR_OF_DAY);int minute = c.get(Calendar.MINUTE);int second = c.get(Calendar.SECOND);int millis = c.get(Calendar.MILLISECOND);System.out.println(" " + year + "-" + (month + 1) + "-" + day //+ " " + hour + ":" + minute + ":" + second + " " + millis);public static void main(String<> args) // Các field trong calendarSystem.out.println("Calendar fields");calendarField();System.out.println("---");// Tạo đối tượng Calendar, diễn tả thời điểm hiện tại.// Với time zone (múi giờ) với locale mang định.Calendar c = Calendar.getInstance();System.out.println("First calendar info");showCalendar(c);// roll(..): Cuộn một ngôi trường (field) của Calendar.// roll(..): Không làm cho đổi khác các ngôi trường khác.// Ví dụ: Cuộn lên thêm 1 tiếng (boolean up = true)c.roll(Calendar.HOUR_OF_DAY, true);System.out.println("After roll 1 hour");showCalendar(c);// roll(..): Không có tác dụng chuyển đổi những trường không giống của Calendar.// Cuộn xuống một tiếng (boolean up = false)c.roll(Calendar.HOUR_OF_DAY, false);System.out.println("After roll -1 hour");showCalendar(c);// add(..): cũng có thể có tác dụng biến đổi các trường không giống của Calendar.// Tăng thêm một giờ đồng hồ (boolean up = true)c.add(Calendar.HOUR_OF_DAY, 1);System.out.println("After add 1 hour");showCalendar(c);// roll(..): Không làm cho biến đổi các trường không giống của Calendar.// Cuộn xuống 30 ngày.c.roll(Calendar.DAY_OF_MONTH, -30);System.out.println("After roll -30 day");showCalendar(c);// add(..): cũng có thể có tác dụng chuyển đổi những ngôi trường không giống của Calendar.// Thêm 30 ngày.c.add(Calendar.DAY_OF_MONTH, 30);System.out.println("After add 30 day");showCalendar(c);Kết quả:

Chuyển đổi thân Date và Calendar

Chuyển tự Date sang Calendar

Date now = new Date();Calendar c = Calendar.getInstance();c.setTime(now);Chuyển tự Calendar lịch sự Date

Calendar c = Calendar.getInstance();Date date = c.getTime();

Chuyển thay đổi kiểu tài liệu giữa Date cùng Timestamp vào Java

Chuyển hình trạng dữ liệu Date lịch sự TimestampDate now = new Date();Timestamp ts = new Timestamp(now.getTime());Chuyển vẻ bên ngoài tài liệu Timestamp sang DateTimestamp now = new Timestamp();Date date = new Date(now.getTime());

Chuyển đổi kiểu tài liệu thân String và Date trong Java

Tùy vươn lên là format Date, Time

Tmê mẩn khảo bảng tiếp sau đây mang lại một số trong những ngày cùng thời hạn thịnh hành được sử dụng trong java.text.SimpleDateFormat, coi phiên bản khá đầy đủ tại javadoc.

Ký hiệuÝ nghĩaTrả vềVí dụ
GKỷ nguyênTextAD
yNămNumber2009
MTháng vào nămText và NumberJuly và 07
dNgày vào thángNumber10
hGiờ am/pm (1-12)Number12
HGiờ trong thời gian ngày (0-23)Number0
mPhút vào giờNumber30
sGiây trong phútNumber55
SmillisecondNumber978
ENgày trong tuầnTextTuesday
DNgày trong nămNumber189
FNgày của tuần vào thángNumber2 (2nd Wed in July)
wTuần vào nămNumber27
WTuần vào thángNumber2
aam/pmTextPM
kGiờ trong thời gian ngày (1-24)Number24
KGiờ am/pm (0-11)Number0
zMúi tiếng (time zone)TextPacific Standard Time
escape for textDelimiter(none)
single quoteLiteral

Tài liệu tđê mê khảo:


Chuyên mục: Chia sẻ