Sử dụng lớp SimpleDateFormat để hiển thị thời gian ở định dạng 12 giờ
Đặt định dạng
Date dt = new Date[]; SimpleDateFormat dateFormat; dateFormat = new SimpleDateFormat["hh:mm:ss a"];
Bây giờ, phần sau sẽ hiển thị thời gian ở định dạng 12 giờ
dateFormat.format[dt]
Sau đây là một ví dụ
Thí dụ
Bản thử trực tiếp
import java.text.SimpleDateFormat; import java.util.Date; public class Demo { public static void main[String[] argv] throws Exception { Date dt = new Date[]; SimpleDateFormat dateFormat; dateFormat = new SimpleDateFormat["hh:mm:ss a"]; System.out.println["Time in 12 hr format = "+dateFormat.format[dt]]; } }
đầu ra
Time in 12 hr format = 11:33:53 AM
Đã cho thời gian ở định dạng AM/PM 12 giờ, chuyển đổi nó thành thời gian quân sự [24 giờ]. Người dùng phải lấy đầu vào là một chuỗi chứa thời gian ở định dạng đồng hồ 12 giờ [i. e. hh. mm. ssAM hoặc hh. mm. ssPM], trong đó 01 ≤ hh ≤12 và 00 ≤ mm,ss ≤59
Đầu vào và đầu ra dự kiến
Đầu vào. - 09. 15. 55PM
đầu ra. - 21. 15. 55
Đầu vào. - 12. 00. 00AM
đầu ra. - 00. 00. 00
Đầu vào. - 03. 55. 50AM
đầu ra. - 03. 55. 50
Giải pháp vấn đề
1. Lấy đầu vào như đã lấy ở trên trong đầu vào mẫu. [“ %d. %d. %d%s ”, &hh,&mm,&ss,a] hoặc bạn có thể cung cấp đầu vào cho ‘hh’, ‘mm’, ‘ss’ và ‘a’ một cách riêng biệt
2. Kiểm tra và so sánh xem chuỗi 'a' ở cuối đầu vào là 'AM' hay 'PM'
3. Kiểm tra giá trị của hh và giải tương ứng
Ghi chú. Tham gia các lớp học Sanfoundry miễn phí tại Telegram hoặc Youtube
quảng cáo
quảng cáo
Chương trình/Mã nguồn
Đây là mã nguồn của Chương trình C để chuyển đổi định dạng giờ 12 giờ AM-PM sang định dạng giờ quân sự 24 giờ. Chương trình được biên dịch và thử nghiệm thành công bằng trình biên dịch Codeblocks gnu/gcc trên windows 10. Đầu ra chương trình cũng được hiển thị bên dưới
/* C Program for converting 12-hour time format to 24-hour time format. */
#include
#include
int main[]
- ________số 8_______
int hh, mm, ss;
char a[3];
printf["Enter hours 'hh' \t"];
scanf["%d", &hh];
printf["Enter minutes 'mm' \t"];
#include
0#include
1#include
2#include
3#include
4#include
5#include
6#include
7#include
8#include
9#include
0#include
1#include
2#include
3#include
4#include
5#include
6#include
3#include
8#include
5int main[]
0int main[]
1int main[]
2int main[]
3int main[]
4#include
0int main[]
6int main[]
3int main[]
8int main[]
9
Giải thích chương trình
1. Người dùng sẽ cung cấp đầu vào ở định dạng 12 giờ, sẽ chứa 4 biến, hh cho giờ, mm cho phút, ss cho giây và một chuỗi 'a' để biểu thị 'AM' hoặc 'PM'
Làm bài kiểm tra lập trình C ngay bây giờ
2. Sau khi lấy thông tin đầu vào, người dùng sẽ kiểm tra xem đó có phải là 'PM' hay không và giá trị của 'hh' có khác 00 hoặc 12 hay không, nó sẽ được thêm trực tiếp vào 12 và mm,ss sẽ giữ nguyên. Ví dụ: nếu người dùng nhập hh là 05 'PM', ở định dạng 24 giờ 05 pm = 17 không có gì khác ngoài 05+12
3. Nhưng nếu là 'AM' và giá trị của hh là 12 thì giá trị của hh sẽ = 0 vì sau giờ thứ 23 nó sẽ bắt đầu lại từ 00, các trường hợp còn lại nếu là 'AM' thì thời gian trong . Ví dụ: nếu người dùng nhập thời gian là 11. 47. 56AM đầu ra sẽ là 11. 47. 56 giống như ở định dạng 12 giờ, nhưng nếu người dùng nhập 12. 55. 21AM đầu ra sẽ là 00. 55. 21 vì phạm vi giá trị của hh nằm trong khoảng từ 00 đến 23 và ngay sau giờ thứ 23, chúng tôi sẽ nhận được giờ thứ 00 chứ không phải ngày 24