Tôi đã gặp sự cố, khi DateComponentsFormatter
trả về số lượng đơn vị không mong muốn. Có ai phải đối mặt với cùng một vấn đề?DateComponentsFormatter trả về số lượng sai số đơn vị
import Foundation
let formatter = DateComponentsFormatter()
formatter.unitsStyle = .full;
formatter.maximumUnitCount = 1;
let date = Date(timeIntervalSinceNow: -14.7 * 24 * 60 * 60)
let dateString = formatter.string(from: date, to: Date()) // 2 weeks 1 day
Tôi mong nhận được "2 tuần" nhưng có "2 tuần 1 ngày".
Tại sao bạn sử dụng '14.7'? – shallowThought
@shallowTôi nghĩ tôi đã đặt 'maximumUnitCount' - trình định dạng không được trả về nhiều hơn một đơn vị. –
FYI - Sử dụng 'Date (timeIntervalSinceNow: -14.7 * 24 * 60 * 60)' là một cách khủng khiếp để làm toán ngày. Không phải mỗi ngày đều có 24 giờ. Không phải mỗi giờ đều có 3600 giây. Sử dụng một trong các phương thức 'Calendar date (byAdding ...)'. – rmaddy