【问题标题】:Separating hours from minutes in a given time value在给定的时间值中将小时与分钟分开
【发布时间】:2014-12-17 14:50:57
【问题描述】:

我目前正在为 Android 设备开发一个简单的时间管理器应用程序。 我的问题:我从服务器获得 时间价值(看起来像这样 -> 6:51)。 现在我想将小时和分钟分开,并且希望值不断更新。

我已经研究了 joda-time,但如果 joda-time 有解决方案的话,我自己找不到任何可以解决我的问题的方法。

我应该尝试提取数字并从中构建我的时间格式,还是有更好更简单的解决方案? 如果您建议我提取数字,我该如何解决小时数超过 9 的问题。

感谢您的帮助,抱歉英语不好。

【问题讨论】:

标签: java android time jodatime


【解决方案1】:

分开时间。

 String time="6:51"              //which is from server;
 String splitTime[]=time.split(":");
 String hours=splitTime[0];
 String minutes=splitTime[1];

【讨论】:

  • 最好先准备一个数组,然后使用 split 一次填充它,以尽量减少拆分操作。
  • 工作得非常好,非常简单!谢谢。
【解决方案2】:

如果您拥有的字符串格式为hh:mm,那么您可以使用String.split 来分隔它们。

String arr [] = time.split(":");

【讨论】:

    【解决方案3】:

    只需将 time 的值解析为 String 并使用 split 来分隔小时和分钟。然后,您可以再次将其转换为 int 以备将来使用。

    String Time = (String) time;
    String Hour=time.split(":")[0];
    String Minute=time.split(":")[1];
    //If you want to use Hour and Minute for calculation purposes:
    int hour=Integer.parseInt(Hour);
    int minute=Integer.parseInt(Minute);
    

    应该没问题,如果小时>9

    【讨论】:

      【解决方案4】:

      您是否从服务器获取时间作为字符串 "6:51" ?

      org.joda.time.LocalTime#parse(String) 会帮助你。 LocalTime 表示没有日期的时间。解析字符串后,您将能够调用方法getHourOfDay,getMinuteOfHour。

      【讨论】:

        【解决方案5】:

        在Joda-Time2.5.

        LocalTime localTime = LocalTime.parse( "6:51" );
        int hour = localTime.getHourOfDay();
        int minute = localTime.getMinuteOfHour();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多