Có gì sai trong mã này? Tôi đang cố gắng để phân tích một định dạng ngày có 0 giữa năm và tháng.Ngày không thể chia sẻ với số phụ trong Java
import java.text.SimpleDateFormat;
class Main {
public static void main(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("yyyy'0'MMdd");
try {
Date date = format.parse("201600101");
System.out.println(date);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
Kết quả đầu ra Không thể ghi ngày tháng: "201600101". Nếu tôi thay đổi '0' thành bất kỳ thứ gì trừ số [ví dụ: 'X' và format.parse ("2016X0101")] thao tác này sẽ hoạt động.
Đoán của tôi là nó thấy '20160' là một năm. 'yyyy' có thể là 2,3,4,5 chữ số năm. –
Nếu bạn biết định dạng theo nguyên tắc, tại sao không chỉ loại bỏ thêm số không? –
đó là một điều thú vị .. có vẻ như nó hoạt động, khi bạn thêm khoảng trắng, vì vậy, ví dụ: mẫu "yyyy '0'MMdd" được hiểu như mong đợi. –