java - Java将int转换为时间

标签 java android

我有一个 int 计数器,从 600 开始,在 Runnable 中,并增加 1。

600 代表早上 6 点,2400 代表午夜。

将此 int 与从 API 接收的相同格式的 int 进行比较。

我需要比较它们;然而,问题是我的 int 目前一小时有 100 分钟,所以随着时间的推移,它会变得越来越不合时宜。

有没有办法将int计数器转换为时间格式? (Java 格式的 18000000 = 6am 不起作用)

菲尔干杯

最佳答案

戴夫·牛顿说得对,这只是数学。您的整数时间由两个部分组成,小时和分钟(易于阅读但难以计算)。

 int time = 600;
 int hours = time / 100;
 int minutes = (time - hours * 100) % 60;

所以你不能只是增加你的时间(time++),因为按照你写的,你最终每小时有一百分钟。请改用此方法:

 int incrementTime(int time) {
      time++;
      int hours = time / 100;
      int minutes = (time - hours * 100) % 60;
      if (minutes == 0) hours++;
      return hours * 100 + minutes;
 }

你可以尝试一下:

 time = 600;
 for (int i=0; i < 120; i++) {
      time = incrementTime(time);
      System.out.println(time);
 }

关于java - Java将int转换为时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22107323/

相关文章:

android - SlidingUpPanel 中的 ListView 不可滚动

android - Room 持久库将版本重置为 1

java - 尝试写入数据库时​​出现错误

java - 测试新的Java解析器

java - 无法在 IntelliJ Ultimate 中使用外部依赖项(由 Maven 安装)

java - 在文本字段中输入后如何隐藏 EditText 错误?

Android 4.3 Eclipse Android 设备选择器状态版本未知

java - Hibernate validator @NotNull 无法正常工作

java - Android Bundle 与 Java 普通对象 (POJO) - 序列化/反序列化性能

android - 如何设置按钮颜色