특정 시간 및/또는 날짜를 설정하는 명령을 알고 있지만 현재 시간을 기준으로 시간을 이동하는 명령을 찾을 수 없습니다.
시간을 x초/분/시간 단위로 앞으로/뒤로 이동하는 명령은 무엇입니까? (몇 일/개월/년 정도일까요?)
답변1
시스템 시간을 설정하는 명령은 다음과 같습니다.date
. 시스템 시간을 설정하려면 루트 권한이 필요합니다. date
현재 시간에 대한 상대적인 양이 아닌 주어진 시간으로 시간을 설정하십시오. 후자의 동작은 의미가 없기 때문입니다. 예를 들어 (내장되지 않은 Linux의 경우) 의 출력을 계산 date
하고 다시 피드백하여 현재 시간을 상대적인 양만큼 수정하는 명령을 작성할 수 있습니다.date
date $(date +%m%d%H%M%Y.%S -d '1 hour ago')
NTP와 같은 타이밍 시스템을 실행하는 경우 시계를 이와 같이 변경하면 문제가 발생할 수 있습니다. 먼저 멈춰라.
Run은 date
하드웨어 시계가 아닌 시스템 시간을 설정합니다. Linux에서는 다음을 실행합니다.hwclock --systohc
시스템 시간을 하드웨어 시계에 복사합니다. 이는 완전 종료 시 자동으로 수행됩니다.
다른 시간대의 시간을 보고 싶다면 모든 것을 잊어버리고 원하는 시간대를 설정하세요. Linux에서는 다음을 실행합니다.tzselect
시스템 시간대를 설정합니다. 다른 시간대에서 프로그램을 실행하려면 TZ
환경 변수를 설정하십시오.
export TZ=Asia/Tokyo
emacs
프로그램을 실행하고 시간이 실제 시간과 다르다고 믿게 만들고 싶다면 해당 프로그램에서 실행하세요.faketime
.
faketime '1 hour ago' date
답변2
다음 형식을 사용하여 현재 시간 이전의 시간을 가져올 수도 있습니다.
$ date --date='1 month'
Sun Sep 17 15:01:11 CST 2017
$ date --date='1 month'
Sun Sep 17 15:01:15 CST 2017
$ date --date='1 month 2 hours'
Sun Sep 17 17:01:23 CST 2017
$ date --date='1 month 2 hours 3 minutes'
Sun Sep 17 17:04:30 CST 2017
ago
현재 날짜 이전의 시간을 사용할 수도 있습니다 .
$ date
Fri Aug 18 16:14:41 CST 2017
$ date --date='1 month 2 days ago'
Sat Sep 16 16:14:43 CST 2017
--set
이 옵션을 사용할 수 있습니다환경단, +
실제 날짜에 추가할 시간, 분 등의 숫자 앞에 기호를 추가합니다.
$ date
Thu Aug 17 15:07:00 CST 2017
$ date --set='+1 day +1 hour'
Fri Aug 18 16:07:24 CST 2017
$ date
Fri Aug 18 16:07:31 CST 2017
$ date --set='+1 month 3 days +1 hour'
Thu Sep 21 17:07:42 CST 2017
이것이 도움이 되기를 바랍니다.
답변3
date -Ins -s $(date -Ins -d '-1 hour')
답변4
내가 정확하게 기억한다면 UNIX SVR4에서는 "date" 명령에 "-a" 옵션이 있어서 수퍼유저가 시계를 몇 초 앞이나 뒤로 조정할 수 있었습니다.