当前位置: 首页 > 知识库问答 >
问题:

我尝试制作一个得到时间和分钟的代码,并将它们组合在一起1次,如果get减去它的打印减去时间,这是错误的[关闭]

狄飞鹏
2023-03-14

< b >想改进这个问题?通过编辑此帖子添加详细信息并澄清问题。

好的,这段代码是用来获取时间的,比如:10:34,从右边开始是一个int,比如:42,那么它应该把左边的时间和右边的int合并1次。它还需要从右边使用-int,就像这样:-42

09:21 615代码打印:-1:06 AM

这是我的代码:

公共类TimeCalc{

公共静态void main(String[] args) {

    // Concatenates the empty string "" with the left hour-digit, concatenates the
    // resulting string with the right hour-digit, then casts the resulting string as an int.
    int hours = Integer.parseInt("" + args[0].charAt(0) + args[0].charAt(1));
    // Does the same with the minute digits.
    int minutes = Integer.parseInt("" + args[0].charAt(3) + args[0].charAt(4));
    // Complete the program code here:
    
    int plus = Integer.parseInt(args[1]);
    int count=0;
    char nequd = ':';
    
    if ((args[0].length()==5) && (args[0].charAt(2)== nequd) && (args[1].charAt(0) !='*')){
        int hoursM = (plus/60) + hours;
        int minutesN = (plus%60)+minutes;
        
        //checks if we got a minus minutes
        if(minutesN<0){
           while(minutesN<0){     //300
               
               minutesN=60+minutesN;                                    
               count++;
        }
        hoursM=hoursM-count;
        }
        if (minutesN>59){
            hoursM = hoursM+(minutesN/60);
            minutesN = minutesN%60;
            }
            if (hours<24 && hours>=0 && minutes<60 && minutes>=0){
                    int hoursNNN=hoursM%24;
                    int hourshours=hoursNNN%12;
                    if (hoursNNN<0) {
                        hoursNNN = 12+hoursM;
                    }
                    if (hours==12||hoursNNN==12){
                    System.out.print(hoursNNN + ":");//specific case: if the hour input is 12, then 12%12==0. and we want it to stay 12
                    }
           
                    else{
                        System.out.print(hourshours + ":");//prints hours  
                        }                       //now lets print minutes
                        if (minutesN<10){
                            System.out.print("0" + minutesN);
                            }else{
                                System.out.print(minutesN); 
                                }
                                //prints AM/PM
                                if(hoursNNN>=12 && hoursM!=0){
                                    System.out.print(" PM");    
                                    }else{
                                        System.out.print(" AM");
                                        }
         if (minutesN<0) {
             
         }
        }else {
        System.out.println("Invalid input");
            
        }
        
    }else {
        System.out.println("Invalid input");
        }

} }我试着用这几行来解决这个问题:

            //checks if we got a minus minutes
            if(minutesN<0){
               while(minutesN<0){     //300
                   
                   minutesN=60+minutesN;                                    
                   count++;

但是效果不太好,也许我对varribles的看法是错的。

我需要改变什么才能使这项工作成功,谢谢!

共有1个答案

尉迟京
2023-03-14

日期很难,即使是编程中的日期。从你的代码中,我猜你想计算时钟时间加/减几分钟?我建议看看java.time.LocalTime和朋友们:

LocalTime tempDateTime = LocalTime.parse("09:21");
System.out.println(tempDateTime.minus(615, ChronoUnit.MINUTES));
 类似资料:
  • 问题内容: 我一直在寻找答案已有几个小时,但找不到。 我正在写一个简单的。用户设置他们的工作开始和结束时间。例如,某人的工作时间是从8:00到16:00。我该如何减去这个时间来查看此人已经工作了多长时间了? 我正在尝试,但没有成功… 问题答案: 以下是更好的方法: 那会给你带来时间上的差异。

  • 问题内容: 我有一个价值,我想得到另一个正好是1个月前的时间。 我知道可以用(想要另一个)进行减法,但这会导致a,而我反过来需要它。 问题答案: 尝试AddDate: 产生: 游乐场:http://play.golang.org/p/QChq02kisT

  • 我只想从中减去1个小时。我试着在Google上查找,发现有一个名为minus的方法,它获取日期的副本并在这里获取特定的持续时间:http://www.joda.org/joda-time/apidocs/org/joda/time/datetime.html#minus(long) 但我不知道如何使用它,我也找不到一个例子在互联网上。 下面是我的代码: 我还尝试将解析为double,这样就可以减去

  • 我将Datagrip用于PostgreSQL。我有一个带有时间戳格式的日期字段的表。我希望能够: 应用数学运算符减去1天 根据当前-130天的时间窗口对其进行筛选 不显示邮票的HH/MM/SS部分(2016-10-31) 当前开始查询: 第1行的子句导致: [42883]错误:运算符不存在:没有时区的时间戳-整数提示:没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换。职位:69 子

  • 问题内容: 我有一个datetime列,如下所示- 现在,我想从此列的每一行中减去一年。我怎样才能达到相同的目标?我可以使用哪个库? 预期字段- 谢谢。 问题答案: 您可以用来实现以下目的:

  • 本文向大家介绍使用Java中的Calendar.add()方法从当前时间减去分钟,包括了使用Java中的Calendar.add()方法从当前时间减去分钟的使用技巧和注意事项,需要的朋友参考一下 为Java中的Calendar类导入以下软件包。 首先,创建一个Calendar对象并显示当前日期和时间。 现在,让我们使用calendar.add()方法和Calendar.MINUTE常数减少分钟数。