지난 시간을 현재 시간으로 변환

user2577576

시작 시간 (이 경우 9시)이 있고 여기에 특정 시간이 추가되고 현재 시간을 계산해야합니다. 내가 사용하는 현재 방법은 원래 시간에 경과 된 시간을 더한 다음 12로 모듈로를 추가하는 것입니다. 이렇게 timeAndHoursPassed % 12 = currentTime하면 추가 된 시간을 12로 나눌 수있는 경우를 제외하고 모든 경우에 잘 작동합니다 . 이 경우 현재 시간을 얻습니다. 12 대신 0이됩니다. 어떻게 고칠 수 있습니까? 또한 가능하다면 GregorianCalender 클래스를 사용하는 대신 가능한 기본 수학을 사용하는 것을 선호합니다. 사전에 모든 도움에 감사드립니다. 내 코드는 다음과 같습니다.

package week11;

import java.util.Scanner;

public class PassingTrains {
    static int currentTime = 9, firstDistance = 0, secondDistance = 0, firstSpeed = 40, secondSpeed;
    static Scanner input = new Scanner(System.in);
    public static String passTime(){
        System.out.print("Enter the speed of the passenger train: ");
        secondSpeed = input.nextInt();
        while (currentTime < 11) {
            firstDistance += firstSpeed;
            currentTime++;
        }
        while (firstDistance > secondDistance) {
            firstDistance += firstSpeed;
            secondDistance += secondSpeed;
            currentTime++;
        }
        if (firstDistance == secondDistance){
            return ("at " + currentTime % 12);
        } else {
            return ("between " + (currentTime - 1) % 12 + " o'clock and " + currentTime % 12);
        }
    }

    public static void main(String[] args) {
            System.out.println("The passenger train passed the freight train at " + passTime() + " o'clock");
            System.out.println("The freight train was traveling " + firstSpeed + " mph");
            System.out.println("The passenger train was traveling at " + secondSpeed + " mph");
    }
}
Hfontanez

두 부분이 있습니다.

  1. 경과 시간에 모듈로 24를 적용해야합니다. 왜. 오늘 9시에 시작하고 24 시간이 지난 경우 0 시간 (24 % 24)을 더하고 다음날 9시에 있습니다.
  2. 37이 경과했다고 가정합시다. 위의 1 번을 적용하면 24 시간이 지난 13 시간이 있습니다. 13 ~ 9를 더하면 22 시간 (오후 10시)이됩니다. 24 시간 달력을 사용하지 않으려면 현재 시간> 12이면 현재 시간에서 12를 뺍니다.

샘플 코드 :

currentTime += elapsedTime % 24; 
if(currentTime > 12) 
{
    currentTime -= 12;
}

업데이트 : OP의 수정 된 코드

public class PassingTrains
{
    static int currentTime = 9, firstDistance = 0, secondDistance = 0,
            firstSpeed = 40, secondSpeed, elapsedTime;
    static Scanner input = new Scanner(System.in);

    public static String passTime()
    {
        System.out.print("Enter the speed of the passenger train: ");
        secondSpeed = input.nextInt();
        while (currentTime < 11)
        {
            firstDistance += firstSpeed;
            currentTime++;
        }
        while (firstDistance > secondDistance)
        {
            firstDistance += firstSpeed;
            secondDistance += secondSpeed;
            elapsedTime++;  // changed this

        }
        // added the next two lines
        currentTime += elapsedTime % 24;
        currentTime = (currentTime > 12) ? currentTime - 12 : currentTime;

        if (firstDistance == secondDistance)
        {
            return ("at " + currentTime); // fixed this
        }
        else
        {
            return ("between " + ((currentTime - 1 == 0) ? 12 : currentTime - 1) + " o'clock and " + currentTime); \\fixed this
        }
    }

    public static void main(String[] args)
    {
        System.out.println("The passenger train passed the freight train at "
                + passTime() + " o'clock");
        System.out.println("The freight train was traveling " + firstSpeed
                + " mph");
        System.out.println("The passenger train was traveling at "
                + secondSpeed + " mph");
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

WRF UTC 시간을 현지 시간으로 변환

분류에서Dev

pyspark에서 파일 시간을 현지 시간으로 변환

분류에서Dev

PostgreSQL 8.3에서 UTC 시간을 현지 시간으로 변환

분류에서Dev

UTC 시간을 현지 시간으로 변환

분류에서Dev

UTC 시간을 현지 시간으로 변환하는 방법

분류에서Dev

perl에서 현지 시간을 UTC 시간으로 변환

분류에서Dev

Android에서 서버 시간을 현지 시간으로 변환

분류에서Dev

Android GMT를 현재 현지 시간으로 변환

분류에서Dev

현재 시간대를 찾아 현지 시간을 기준으로 한 약어로 변환합니다.

분류에서Dev

datetime 패키지 만 사용하여 현재 시간을 UTC 시간 파이썬으로 변환

분류에서Dev

datetime 패키지 만 사용하여 현재 시간을 UTC 시간 파이썬으로 변환

분류에서Dev

현재 시간이 MST 시간대로 변환되지 않음

분류에서Dev

현지 시간을 아르헨티나 시간으로 변환하는 방법?

분류에서Dev

UTC 시간을 현지 시간으로 변환 할 수 없습니까?

분류에서Dev

GMT 시간을 현지 시간으로 변환하는 방법 정확한 시간 표시

분류에서Dev

다른 시간대의 시간을 Perl의 현지 시간으로 변환 하시겠습니까?

분류에서Dev

+05 : 30으로 UTC 시간을 현지 시간 시간대로 어떻게 변환 할 수 있습니까?

분류에서Dev

GMT datetime을 현지 시간대 datetime으로 변환

분류에서Dev

datetime을 현지 시간으로 변환하는 문제

분류에서Dev

UTC GMT + 0200을 현지 시간으로 변환

분류에서Dev

시간 변환 밀리 초 현지 시간을 밀리 초 UTC 시간으로 Android에서

분류에서Dev

현재 시간을 소수점 시간으로 어떻게 변환합니까?

분류에서Dev

날짜 / 시간을 현재 JDN으로 변환

분류에서Dev

UTC 시간을 실제로 작동하는 현지 국가 시간으로 변환

분류에서Dev

Django에서 UTC 시간을 사용자의 현지 시간으로 변환하는 방법

분류에서Dev

장치에서 CET 시간을 현지 시간으로 변환하는 방법은 무엇입니까?

분류에서Dev

UTC 시간을 장치의 현지 시간으로 변환하려면 어떻게해야합니까?

분류에서Dev

Moment.js가 클라이언트 측에서 UTC 시간을 현지 시간으로 변환하는 방법

분류에서Dev

PYTHON에서 유닉스 시간을 현지 날짜 및 시간으로 변환 할 수 없습니다.

Related 관련 기사

  1. 1

    WRF UTC 시간을 현지 시간으로 변환

  2. 2

    pyspark에서 파일 시간을 현지 시간으로 변환

  3. 3

    PostgreSQL 8.3에서 UTC 시간을 현지 시간으로 변환

  4. 4

    UTC 시간을 현지 시간으로 변환

  5. 5

    UTC 시간을 현지 시간으로 변환하는 방법

  6. 6

    perl에서 현지 시간을 UTC 시간으로 변환

  7. 7

    Android에서 서버 시간을 현지 시간으로 변환

  8. 8

    Android GMT를 현재 현지 시간으로 변환

  9. 9

    현재 시간대를 찾아 현지 시간을 기준으로 한 약어로 변환합니다.

  10. 10

    datetime 패키지 만 사용하여 현재 시간을 UTC 시간 파이썬으로 변환

  11. 11

    datetime 패키지 만 사용하여 현재 시간을 UTC 시간 파이썬으로 변환

  12. 12

    현재 시간이 MST 시간대로 변환되지 않음

  13. 13

    현지 시간을 아르헨티나 시간으로 변환하는 방법?

  14. 14

    UTC 시간을 현지 시간으로 변환 할 수 없습니까?

  15. 15

    GMT 시간을 현지 시간으로 변환하는 방법 정확한 시간 표시

  16. 16

    다른 시간대의 시간을 Perl의 현지 시간으로 변환 하시겠습니까?

  17. 17

    +05 : 30으로 UTC 시간을 현지 시간 시간대로 어떻게 변환 할 수 있습니까?

  18. 18

    GMT datetime을 현지 시간대 datetime으로 변환

  19. 19

    datetime을 현지 시간으로 변환하는 문제

  20. 20

    UTC GMT + 0200을 현지 시간으로 변환

  21. 21

    시간 변환 밀리 초 현지 시간을 밀리 초 UTC 시간으로 Android에서

  22. 22

    현재 시간을 소수점 시간으로 어떻게 변환합니까?

  23. 23

    날짜 / 시간을 현재 JDN으로 변환

  24. 24

    UTC 시간을 실제로 작동하는 현지 국가 시간으로 변환

  25. 25

    Django에서 UTC 시간을 사용자의 현지 시간으로 변환하는 방법

  26. 26

    장치에서 CET 시간을 현지 시간으로 변환하는 방법은 무엇입니까?

  27. 27

    UTC 시간을 장치의 현지 시간으로 변환하려면 어떻게해야합니까?

  28. 28

    Moment.js가 클라이언트 측에서 UTC 시간을 현지 시간으로 변환하는 방법

  29. 29

    PYTHON에서 유닉스 시간을 현지 날짜 및 시간으로 변환 할 수 없습니다.

뜨겁다태그

보관