Java24小时制和12小时制转换

本文介绍如何使用Java编程处理用户输入的时间,包括判断24小时制或12小时制,验证时分输入的正确性,并进行格式转换。通过Scanner获取用户输入,利用SimpleDateFormat解析并展示不同格式的时间显示。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


Java24小时制和12小时制转换

package com.company;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Softwaretest5 {
SimpleDateFormat simpleDateFormat24 = new SimpleDateFormat(“HH:mm”);
SimpleDateFormat simpleDateFormat12 = new SimpleDateFormat(“hh:mm”);
Scanner scanner = new Scanner(System.in);

public void Softwaretest(){
    boolean kind;
    System.out.println("是否为24小时制(是:true 否:false):");
    try{
         kind = scanner.nextBoolean();
    }catch (Exception e){
        scanner = new Scanner(System.in);
        System.out.println("错误请重新输入(true 或 false):");
        kind = scanner.nextBoolean();
    }
    String ma = new String();
    if (!kind){
        System.out.println("上午或下午:");
         ma = scanner.next();
        while (!ma.equals("上午") && !ma.equals("下午")){
            System.out.println("上午或下午(不符合要求重新输入):");
            ma = scanner.next();
        }
    }
    System.out.println("时:");
    String hur = scanner.next();
    int hour = Integer.valueOf(hur);
    while ((hour <= 0 || hour >24)){
         System.out.println("时(不符合要求请重新输入):");
         hur = scanner.next();
         hour = Integer.valueOf(hur);
    }
    System.out.println("分:");
    String minu = scanner.next();
    int Minu = Integer.valueOf(minu);
    while ((Minu < 0 || Minu >= 60)){
        System.out.println("分(不符合要求请重新输入):");
        minu = scanner.next();
        Minu = Integer.valueOf(minu);
    }
    String time = hur + ":" + minu;
    if (kind){
        Date date = null;
        try {
            date = simpleDateFormat12.parse(time);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(simpleDateFormat12.format(date));
    }else {
        Date date = null;
        try {
            date = simpleDateFormat24.parse(time);
        }catch(ParseException e){
            e.printStackTrace();
        }
        System.out.print(simpleDateFormat12.format(date) + ma);
    }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值