나는 두 날짜 값을 획득하고이를 빼기, 가끔은 음수를 구하십시오bash에서 날짜의 차이가 음수로 나타나는 이유는 무엇입니까?
이 날짜 객체 사이의 작업이 100 × 100의 예를 들어 SciDB에서 두 배열 사이의 동작 (곱셈을하고있다배열). 다른 경우에이 작업을 수행하는 데 1 초도 걸리지 않으므로 나노 초를 사용합니다. 예 출력 : I 퍼티 통해 SSH 통해 컴퓨터에 .sh로 스크립트를 실행하고있어
[email protected]:~/some-scripts$ ./test_mult_100.sh
execution time was 273467147 s.
[email protected]:~/some-scripts$ ./test_mult_100.sh
execution time was -735035957 s.
. 정말 이상한 점은 중간 작업을 수행 한 후 3 초 이상 경과 한 후에도 음수를 얻을 수 있다는 것입니다. 나는 start_time 및 end_time 변수의 값을 겹쳐 쓰지 않도록 설정을 해제합니다. 그렇게하지 않으면 문제가 발생하지 않을 것입니다.
아마 'expr'의 숫자가 너무 큽니까? 긍정적 인 결과도 잘못 보입니다. – tripleee
나는 그것을 고려조차하지 않았지만, 그것은 완전히 의미가 있습니다. 나노 초를 밀리 초로 변경하고 더 잘 작동하는지 확인해 보겠습니다. –
불행히도 여전히 오류가 발생합니다. $ (date -u + % N) 부분이 원하는만큼 일관성이없는 것 같습니다. 이 값을 1000000으로 나누면 (밀리 초 단위로 값을 변환하는 경우) 때때로 가끔 부정적인 값을 얻을뿐만 아니라 때때로 "기본 값에 너무 큰 값"이라는 오류 메시지가 나타납니다. 나는이 코드로 그렇게했다. start_time = $ (($ (date + % N)/1000000)) 나는 날짜를 사용하지 않는 접근법을 시도 할 것이라고 생각한다. –