Trong ứng dụng của tôi, tôi có tùy chọn tạm dừng thực thi trong một khoảng thời gian nhất định. Tôi muốn hiển thị thời gian khi thực thi sẽ tiếp tục, bao gồm cả giây và tôi muốn chuỗi thời gian được định dạng theo cài đặt lưu trữ. Đây là mã tôi đã đưa ra:SimpleDateFormat.getTimeInstance bỏ qua định dạng 24 giờ
long millis = getResumeTime();
String timeString;
timeString = SimpleDateFormat.getTimeInstance(SimpleDateFormat.MEDIUM).format(millis);
Điều này tạo ra một chuỗi định dạng có giây, nhưng trả về định dạng AM/PM mặc dù tôi đã đặt định dạng thời gian 24 giờ trong cài đặt. Nó thậm chí còn thú vị hơn vì thời gian trong khay hệ thống được định dạng chính xác bằng định dạng 24 giờ.
tôi đã cố gắng sử dụng DateFormat.getTimeFormat như thế này:
long millis = getResumeTime();
String timeString;
java.text.DateFormat df = android.text.format.DateFormat.getTimeFormat(this);
timeString = df.format(millis);
Nhưng chuỗi kết quả không chứa giây, và tôi không thấy một cách để bao gồm chúng.
Tôi đang chạy mã này trên trình giả lập Android 4.2. Am i thiếu cái gì ở đây? SimpleDateFormat có biết thiết lập 12/24 giờ không? Nếu không, làm thế nào để có được một chuỗi đại diện của thời gian (bao gồm cả giờ, phút và giây) trong định dạng hệ thống?
Trùng lặp? http://stackoverflow.com/questions/9235934/get-preferred-date-format-string-of-android-system –
No. Họ thảo luận về định dạng ngày. Tôi quan tâm đến định dạng Thời gian. Thật không may họ không luôn luôn làm việc theo cùng một cách. –
Nếu bạn thay thế getTimeFormat cho getDateFormat 'android.text.format.DateFormat.getTimeFormat (getApplicationContext()))'? –