tl; dr
LocalDate.now().getDayOfMonth() // Better to pass a `ZoneId` optional argument to `now` as shown below than rely implicitly on the JVM’s current default time zone.
java.time
Cách tiếp cận hiện đại là LocalDate
lớp để biểu thị giá trị chỉ ngày.
Múi giờ rất quan trọng trong việc xác định ngày hiện tại. Đối với bất kỳ thời điểm cụ thể nào, ngày thay đổi trên toàn cầu theo múi giờ.
ZoneId z = ZoneId.of("America/Montreal");
LocalDate ld = LocalDate.now(z) ;
int dayOfMonth = ld.getDayOfMonth();
Bạn cũng có thể nhận được ngày trong tuần.
DayOfWeek dow = ld.getDayOfWeek();
Về java.time
Khung java.time được xây dựng vào Java 8 và sau đó. Các lớp này thay thế các lớp học ngày giờ legacy phiền hà cũ như java.util.Date
, Calendar
, & SimpleDateFormat
.
Dự án Joda-Time, hiện đang ở maintenance mode, khuyên di chuyển đến các lớp java.time.
Để tìm hiểu thêm, hãy xem Oracle Tutorial. Và tìm kiếm Stack Overflow cho nhiều ví dụ và giải thích. Đặc điểm kỹ thuật là JSR 310.
Sử dụng JDBC driver tương thích với JDBC 4.2 hoặc cao hơn, bạn có thể trao đổi java.time đối tượng trực tiếp với cơ sở dữ liệu của bạn. Không cần chuỗi và các lớp java.sql. *.
Nơi lấy các lớp java.time?
Dự án mở rộng ThreeTen-Extra java.time với các lớp bổ sung. Dự án này là một nền tảng chứng minh cho những bổ sung có thể có trong tương lai vào java.time. Bạn có thể tìm thấy một số lớp học hữu ích tại đây như Interval
, YearWeek
, YearQuarter
và more.
Joda thời gian
UPDATE: Dự án Joda-Thời gian bây giờ là trong chế độ bảo trì, và khuyên chuyển đổi sang các lớp java.time. Phần này còn nguyên vẹn cho lịch sử.
Sử dụng thư viện số Joda-Time 2.5 thay vì các lớp java.util.Date và .Calendar nổi tiếng phiền hà.
Múi giờ rất quan trọng để xác định ngày. Tốt hơn là chỉ định vùng thay vì dựa hoàn toàn vào múi giờ mặc định hiện tại của JVM đang được chỉ định.
DateTimeZone zone = DateTimeZone.forID("America/Montreal");
DateTime now = DateTime.now(zone).withTimeAtStartOfDay();
int dayOfMonth = now.getDayOfMonth();
Hoặc sử dụng mã tương tự với lớp LocalDate
không có phần thời gian trong ngày.
Một tìm kiếm nhanh chóng đến với điều này .. http://www.roseindia.net/java/beginners/DayYearToDayMonth.shtml –