Java 将24小时制转换为12小时制
好的,我有一个时钟类,最初设置为24小时时钟,但我必须使用这个方法将时钟显示为12小时时钟!我已经试了好几个小时了,但没有成功!请帮忙。使时钟显示为12小时时钟(hh:mm:ss AM/PM)。使用抽象-除了updateDisplay()方法外,不要更改任何内容。该钟可在“封底”下使用军用时间;它只需要在调用getTime()时返回正确的字符串Java 将24小时制转换为12小时制,java,displaytag,Java,Displaytag,好的,我有一个时钟类,最初设置为24小时时钟,但我必须使用这个方法将时钟显示为12小时时钟!我已经试了好几个小时了,但没有成功!请帮忙。使时钟显示为12小时时钟(hh:mm:ss AM/PM)。使用抽象-除了updateDisplay()方法外,不要更改任何内容。该钟可在“封底”下使用军用时间;它只需要在调用getTime()时返回正确的字符串 private void updateDisplay() { String AM = "AM"; String PM = "PM";
private void updateDisplay()
{
String AM = "AM";
String PM = "PM";
if(hours.getValue() == 0) {
hours.setValue(hours.getValue() + 12);
PM = "";
}
else if(hours.getValue() == 1 < hours.getValue() && hours.getValue() < 11) {
PM = "";
}
else if(hours.getValue() == 12) {
AM = "";
}
else if(hours.getValue() == 13 > 24) {
hours.setValue(hours.getValue() - 12);
AM = "";
}
displayString = hours.getDisplayValue() + ":" +
minutes.getDisplayValue() + ":" +
seconds.getDisplayValue() + PM + AM;
}
private void updateDisplay()
{
字符串AM=“AM”;
字符串PM=“PM”;
if(hours.getValue()==0){
hours.setValue(hours.getValue()+12);
PM=“”;
}
else if(hours.getValue()==124){
hours.setValue(hours.getValue()-12);
AM=“”;
}
displayString=hours.getDisplayValue()+“:”+
分钟数。getDisplayValue()+“:”+
秒。getDisplayValue()+PM+AM;
}
尝试将24小时时间转换为秒,那么应该很容易…尝试将24小时时间转换为秒,那么应该很容易…一个24小时时钟,H,从0运行一个24小时时钟,H,从0运行一个很好的简明公式是添加11,然后取“模12”,然后再添加一个:
hours.setValue(((hours.getValue()+11)%12)+1);
i、 e
这可以为任何值(包括小时=0、小时=12等)提供所需的结果
(然后当然可以使用前面提到的AM/PM显示的任何解决方案)一个很好的简明公式是加11,然后取“模12”,然后再加一个:
hours.setValue(((hours.getValue()+11)%12)+1);
i、 e
这可以为任何值(包括小时=0、小时=12等)提供所需的结果
(当然,在AM/PM显示器上使用前面提到的任何解决方案)。。。。我所需要做的就是编写一个24小时时钟,H,从0开始运行感谢我让它工作,我了解它的大部分内容,但是你能解释一下(hours.getValue()/12==0?“AM”:“PM”)是做什么的吗?非常感谢。它被称为三元运算符,基本上只是一个压缩的if/else语句。您可以将其理解为“如果小时点获取值除以12等于0,则返回am,否则返回PM”。无论返回哪一个,都将分配给Meridiance。另外,我很高兴它对你有用,你介意接受我的回答吗?谢谢,所以。。。。我所需要做的就是编写一个24小时时钟,H,从0开始运行感谢我让它工作,我了解它的大部分内容,但是你能解释一下(hours.getValue()/12==0?“AM”:“PM”)是做什么的吗?非常感谢。它被称为三元运算符,基本上只是一个压缩的if/else语句。您可以将其理解为“如果小时点获取值除以12等于0,则返回am,否则返回PM”。无论返回哪一个,都将分配给Meridiance。另外,我很高兴它对你有用,你介意接受我的回答吗?谢谢
hours.setValue(((hours.getValue()+11)%12)+1);
h_12 = ( (h_24+11) % 12 ) + 1