- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang làm việc với một số mã kế thừa java.util.Calendar
Được sử dụng để tính toán liên quan đến ngày (về cơ bản là thêm tháng). Bây giờ tôi muốn sử dụng trong mã java.time.LocalDate
替换 java.util.Calendar
Nhưng tôi không muốn thay đổi hành vi. Vì vậy, tôi đang tìm kiếm một nguồn làm rõ rằng chúng tạo ra kết quả giống nhau cho cùng một phép tính trong mọi trường hợp, nhưng tôi không thể tìm thấy bất kỳ nguồn nào.
Cụ thể là tôi muốn biết liệu có ngày nào khiến chúng tạo ra các kết quả khác nhau hay không:
Lịch#add(Lịch.THÁNG, tháng)
Và
LocalDate#plusMonth(tháng)
Tôi đã thử nghiệm một số trường hợp góc (chẳng hạn như ngày liên quan đến năm nhuận) và chúng dường như cho kết quả tương tự, nhưng tôi không chắc chắn 100% về điều này. Có thông tin chính thức nào về điều này hoặc một số khác biệt đã biết giữa chúng không?
câu trả lời hay nhất
长话短说
nếu như:
Lịch
Thực raLịch Gregorian
(cho đến nay là lớp con được sử dụng phổ biến nhất) và...…bạn có thể sử dụng một cách an toànLocalDate#plusMonth(tháng)
thay vì Lịch#add(Lịch.THÁNG, tháng)
.
Chi tiết
Chúc mừng bạn đã quyết định bắt đầu từ cái cũ và thiết kế kém Lịch
Các lớp được di chuyển sang java.time Ngày địa phương
, một API ngày và giờ Java hiện đại. Điều này sẽ cải thiện cơ sở mã của bạn.
Bạn nói đúng, các phương pháp bạn đề cập đều phục vụ cùng một mục đích và thường hoạt động giống nhau. Vì vậy khi bạn đi từ Lịch
Khi di chuyển sang java.time, nếu bạn tìm thấy Ngày địa phương
là một lớp mới phù hợp để sử dụng thì bạn sẽ sử dụng LocalDate#plusMonth(tháng)
trước đây bạn đã sử dụng Lịch#add(Lịch.THÁNG, tháng)
địa điểm.
Sự khác biệt bao gồm:
Lịch
lớp là đại diện của nhiều hệ thống lịch khác nhau ( Gregorian , Phật tử Lớp cha trừu tượng (siêu lớp) của lớp ngày (và thời gian) trong v.v.),Ngày địa phương
Luôn luôn trong lịch Gregorian. Vì mỗi hệ thống lịch có định nghĩa riêng về tháng nên việc thêm số tháng vào lịch không phải lịch Gregory có thể dẫn đến kết quả tương tự. LocalDate.plusMonths
cho kết quả rất khác nhau.Ngày địa phương
sử dụng báo trước lịch Gregory cũng tạo ra một sự khác biệt nhỏ. Điều này có nghĩa là nó không sử dụng. lịch JulianNgày nó được sử dụng từ nhiều thế kỷ trước.Lịch.add
Sửa đổi cách bạn gọi nó Lịch
sự vật,LocalDate.plusMonths
Trở lại với ngày mới新 Ngày địa phương
sự vật.Lịch::thêm
, Ngày địa phương
Có một cách thuận tiện trừ điTháng
Bạn thường muốn sử dụng thay vì cộng thêmtháng
phương thức (mặc dù cả hai đều hợp lệ).Lịch
/Lịch Gregorian
, nhiều cách khác nhau để xem chúng, chẳng hạn như nhận đượcGreatestTối thiểu
Và nhận được ít nhất tối đa
。对于 Ngày địa phương
, xem các hằng số:TỐI ĐA
& PHÚT
.
Về java - Có hành vi nào khác giữa Calendar#add(Calendar.MONTH,months) và LocalDate#plusMonth(months) không? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/57901548/
Có thể là một câu hỏi ngu ngốc, nhưng tôi gặp một vấn đề mà tôi không thể tìm thấy trong tài liệu Java. Liệu giá trị của Calendar.get(Calendar.DAY_OF_WEEK) có dựa trên Calendar.getFirstDayOf hay không
Giả sử đoạn mã sau được thực thi vào ngày 22 tháng 8 năm 2009 (Thứ bảy) Lịch c = Calendar.getInstance();
Tôi đang sử dụng đoạn mã sau để kiểm tra xem tháng đã chọn có phải là tháng 1 hay không: if (calendar.get(Calendar.MONTH) == Calendar.JANUARY) { ... } Điều này cho tôi một gợi ý
Tôi có hai biến Lịch có tên là lịch1 và lịch2 lưu trữ một số giá trị lịch. Tôi muốn so sánh giá trị MINUTE của các biến này. Tôi đã tìm thấy hai cách nhưng tôi muốn biết sự khác biệt là gì và cách nào
Theo tài liệu (tại đây), Google cung cấp một số phạm vi tương tự: https://www.googleapis.com/auth/calendar quyền truy cập đọc/ghi vào lịch https://www.google
Tôi muốn hỏi liệu có thể thêm các sự kiện lịch mà không cần gọi API Lịch Google (yêu cầu kết nối internet) hoặc bắt đầu Hoạt động lịch gốc (không bắt buộc) không? Chỉ cần thêm sự kiện lịch vào lịch gốc của thiết bị của bạn (
Chúng tôi có thể lấy dữ liệu thời gian làm việc từ cài đặt Lịch Google không? Tôi đã tìm hiểu về API của lịch: https://developers.google.com/calendar/v3/reference/settings/g
Tôi đang cố gắng truy cập dữ liệu lịch bằng Dịch vụ Web Exchange nhưng dường như tôi không thể tìm ra cách truy cập lịch dùng chung của người dùng khác (khi đó không phải là lịch mặc định của họ). Giả sử một người dùng khác trong công ty của tôi tạo lịch dùng chung và chia sẻ lịch đó với tôi, tôi thậm chí không thể tìm thấy ngày
Tôi hơi bối rối về việc so sánh ngày trong Java/Android DateFormat df = new SimpleDateFormat("dd/MM/yy HH:mm");
Tôi đang sử dụng API Lịch của Google và tôi gặp phải sự cố. Khi tôi đặt ngày giờ của sự kiện tôi muốn chèn, tôi cần đặt chênh lệch giờ, nhưng do o DST nên phải mất một giờ. Tôi có thể đặt thuộc tính cho lịch
Trong giao diện người dùng web thông thường của Lịch Google, khi tôi thêm một sự kiện, tôi có tùy chọn đặt sự kiện đó làm "lời nhắc" thay vì "sự kiện". Tôi đang cố gắng sử dụng API Python để sao chép nhưng dường như tôi không thể tìm thấy thông tin về cách thực hiện. Tất cả các bài viết tôi tìm thấy
Chúng tôi có thể thêm các sự kiện mới vào Lịch Google bằng các tham số bằng liên kết này https://www.google.com/calendar/render?action=TEMPLATE& text=EventNa
Có cách nào hiện có để sử dụng API lịch để có được lịch chứa đầy thời gian kỷ nguyên, ngoài việc đặt chúng rõ ràng ở kỷ nguyên không? Tất cả những gì tôi có thể làm là có được thời gian hiện tại. Câu trả lời hay nhất không có hàm tạo hoặc phương thức xuất xưởng được xác định trước để thực hiện việc này, nhưng nó khá đơn giản: Cal
Tôi đang cố gắng hiển thị trong TextView khi ứng dụng của tôi được cập nhật lần cuối (ví dụ: "Cập nhật lần cuối lúc 12:13"). Tôi đang cố gắng sử dụng một phiên bản Lịch, tôi nghĩ rằng tôi hiểu chính xác nhưng có vẻ như tôi đang gặp sự cố khi biết cách lấy một phiên bản.
Câu hỏi này đã có câu trả lời ở đây: Calendar.trước(Object when), tại sao lại là Object? (3 câu trả lời) Đã đóng 8 năm trước. Tôi đang gặp sự cố vì tôi đang cố chuyển một ngày vào Lịch
Khi nhận tất cả lịch trên iOS5 bằng EKEventStore *eventStore = [[EKEventStore alloc] init];
Khi tôi chạy đoạn mã sau: int Year = 2017; int tháng = 7; int dayOfMonth = 10; Lịch dateOfBirth = new Gregorian
Hoặc là tôi không hiểu phương thức getActualMaximum(int) hoặc trường WEEK_OF_YEAR hoặc nó liên quan đến lỗi Sun (hoặc cả ba)... Ai đó có thể giải thích cho tôi tại sao (ít nhất là bằng tiếng Đức...) Đoạn mã sau
Tôi đang xem lại mã tôi đã viết cách đây vài năm. Sau đó, tôi nhận ra rằng Android Studio đã đưa ra nhận xét tại Calendar.AM, nó nói rằng đó phải là một trong Calendar.SUNDAY, Calendar.MONDAY, v.v.
Tôi cần sao chép một ngày nhất định 100 lần (tôi không thể chuyển nó bằng cách tham chiếu). Tôi muốn biết cái nào trong hai cái sau là lựa chọn tốt hơn newTime=Calendar.getInstance().setTime(originDate);
Tôi là một lập trình viên xuất sắc, rất giỏi!