将int转换为time-Java

将int转换为time-Java,java,android,Java,Android,我有一个int计数器,从600开始,在Runnable中增加1 600代表上午6点,2400代表午夜 将此int与从相同格式的API接收的int进行比较 我需要将两者进行比较;然而,问题是我的int现在一小时内有100分钟,所以随着时间的推移,时间越来越短 有没有办法将int计数器转换为时间格式?(18000000=6am的Java格式不起作用) 如果您确实需要将0-->2400转换为“时间格式”,您可以使用: hour = uTime/100 uMinutes = uTime - hour*1

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

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

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

我需要将两者进行比较;然而,问题是我的
int
现在一小时内有100分钟,所以随着时间的推移,时间越来越短

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


如果您确实需要将0-->2400转换为“时间格式”,您可以使用:

hour = uTime/100
uMinutes = uTime - hour*100
normalMinutes = (60*uMinutes)/100

然后更改为“长”和“毫秒”,以便在其他地方使用。

如果确实需要将0-->2400转换为“时间格式”,可以使用:

hour = uTime/100
uMinutes = uTime - hour*100
normalMinutes = (60*uMinutes)/100

然后更改为“长”和“毫秒”,以便在其他地方使用。

如果确实需要将0-->2400转换为“时间格式”,可以使用:

hour = uTime/100
uMinutes = uTime - hour*100
normalMinutes = (60*uMinutes)/100

然后更改为“长”和“毫秒”,以便在其他地方使用。

如果确实需要将0-->2400转换为“时间格式”,可以使用:

hour = uTime/100
uMinutes = uTime - hour*100
normalMinutes = (60*uMinutes)/100

然后改为“长”和毫秒,以便在其他地方使用。

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

所以你不能只是增加你的时间(
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);
 }
time=600;
对于(int i=0;i<120;i++){
时间=递增时间(时间);
系统输出打印LN(时间);
}

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

所以你不能只是增加你的时间(
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);
 }
time=600;
对于(int i=0;i<120;i++){
时间=递增时间(时间);
系统输出打印LN(时间);
}

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

所以你不能只是增加你的时间(
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);
 }
time=600;
对于(int i=0;i<120;i++){
时间=递增时间(时间);
系统输出打印LN(时间);
}

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

所以你不能只是增加你的时间(
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);
 }
time=600;
对于(int i=0;i<120;i++){
时间=递增时间(时间);
系统输出打印LN(时间);
}

Java已经有了将日期时间转换为数字的方法,反之亦然

//Get integer representation of time
Calendar rightNow = Calendar.getInstance();
long integerRepresentation = rightNow.getTimeInMillis();

//Set time to integer reprsentation
Calendar calendar2 = Calendar.getInstance();
calendar2.setTimeInMillis(integerRepresentation);

Java已经有了将日期时间转换为数字的方法,反之亦然

//Get integer representation of time
Calendar rightNow = Calendar.getInstance();
long integerRepresentation = rightNow.getTimeInMillis();

//Set time to integer reprsentation
Calendar calendar2 = Calendar.getInstance();
calendar2.setTimeInMillis(integerRepresentation);

Java已经有了将日期时间转换为数字的方法,反之亦然

//Get integer representation of time
Calendar rightNow = Calendar.getInstance();
long integerRepresentation = rightNow.getTimeInMillis();

//Set time to integer reprsentation
Calendar calendar2 = Calendar.getInstance();
calendar2.setTimeInMillis(integerRepresentation);

Java已经有了将日期时间转换为数字的方法,反之亦然

//Get integer representation of time
Calendar rightNow = Calendar.getInstance();
long integerRepresentation = rightNow.getTimeInMillis();

//Set time to integer reprsentation
Calendar calendar2 = Calendar.getInstance();
calendar2.setTimeInMillis(integerRepresentation);


“在可运行的情况下增加1”为什么你这样做而不是日期/时间库?目前它每200毫秒(200毫秒=1分钟)运行一次,这不只是数学吗?让我猜猜。。。您使用
线程来增加计数器。在可运行状态下,睡眠(60000)
“增加1”为什么这样做而不是日期/时间库?目前它每200毫秒(200毫秒=1分钟)运行一次,这不就是数学吗?让我猜猜。。。您使用
线程来增加计数器。在可运行状态下,睡眠(60000)
“增加1”为什么这样做而不是日期/时间库?目前它每200毫秒(200毫秒=1分钟)运行一次,这不就是数学吗?让我猜猜。。。您使用
线程来增加计数器。在可运行状态下,睡眠(60000)
“增加1”为什么这样做而不是日期/时间库?目前它每200毫秒(200毫秒=1分钟)运行一次,这不就是数学吗?让我猜猜。。。您可以使用
Thread.sleep(60000)
增加计数器。非常好,这正是我想要的。我理解戴夫说这只是数学,但我无法在头脑中理解,也无法将其转化为工作代码。非常感谢!PhilExcellent,正是我想要的。我理解戴夫说这只是数学,但我无法在头脑中理解,也无法将其转化为工作代码。非常感谢!PhilExcellent,正是我想要的。我理解戴夫说这只是数学,但我无法在头脑中理解,也无法将其转化为工作代码。非常感谢!PhilExcellent,正是我想要的。我理解戴夫说这只是数学,但我无法在头脑中理解,也无法将其转化为工作代码。非常感谢!菲尔