명령줄을 사용하여 상대 시간 설정

명령줄을 사용하여 상대 시간 설정

date 명령과 유사한 것을 사용하여 '지금'을 기준으로 날짜와 시간을 설정할 수 있습니까?

그래서 date +%T -s "10:13:13"비슷한 것이나 date -s +1h비슷한 것 대신에

답변1

날짜를 설정하려면 루트(또는 su/sudo...)로 로그인해야 합니다.

echo "Time 1 hour ago ... $(date -d "$(date +%F\ %T) 1 hour ago")"
echo "Time now .......... $(date  +%F\ %T)"
echo "Time in 1 hour .... $(date -d "$(date +%F\ %T) 1 hour")"

sudo date +%F\ %T -s "$(date -d "$(date +%F\ %T) 1 hour")"
echo "Adjusted time ..... $(date  +%F\ %T)"

sudo date +%F\ %T -s "$(date -d "$(date +%F\ %T) 1 hour ago")"
echo "Re-adjusted time .. $(date  +%F\ %T)"

산출:

Time 1 hour ago ... 2012-04-16 21:31:53
Time now .......... 2012-04-16 22:31:53
Time in 1 hour .... 2012-04-16 23:31:53
[sudo] password for .... 
Adjusted time ..... 2012-04-16 23:31:53
[sudo] password for  .... 
Re-adjusted time .. 2012-04-16 22:31:53

답변2

최근은 date이제 자연어로 상대적으로 날짜를 설정할 수 있습니다!

다음은 GNU coreutils 8.23을 사용한 예입니다.

# date
Fri Oct  5 16:24:25 UTC 2018
# date --set "10 minutes ago"
Fri Oct  5 16:14:25 UTC 2018
# date --set "10 minutes"
Fri Oct  5 16:24:25 UTC 2018

답변3

을 수행하여 시간대를 변경할 수 있습니다 # dpkg-reconfigure tzdata. 하지만 임의의 값으로 시간을 어떻게 변경하는지 잘 모르겠습니다.

관련 정보