![시간 변수의 타임스탬프를 얻는 방법은 무엇입니까?](https://linux55.com/image/212805/%EC%8B%9C%EA%B0%84%20%EB%B3%80%EC%88%98%EC%9D%98%20%ED%83%80%EC%9E%84%EC%8A%A4%ED%83%AC%ED%94%84%EB%A5%BC%20%EC%96%BB%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 운영체제에서
date
Tue 01 Nov 2022 06:58:10 PM HKT
유닉스 타임스탬프 얻기
date +%s
1667300297
UTC 시간을 가져옵니다.
date -u
Tue 01 Nov 2022 10:58:08 AM UTC
변수를 UTC 시간으로 지정하면
x=$(date -u)
그렇다면 변수의 타임스탬프를 얻는 방법은 무엇입니까?
$x +%s
bash: Tue: command not found
답변1
현재 시간을 에포크 이후의 초 수로 지정하려면 다음을 수행하세요.
x=$(date +%s)
zsh
이후 zmodload zsh/datetime
버전이나 최신 버전을 사용하면 bash
이 작업도 수행할 수 있습니다 x=$EPOCHSECONDS
.
x=$(date -u)
사용자의 로케일과 시스템 간 차이에 따라 Tue 01 Nov 2022 10:58:08 AM UTC
또는 같은 mar. 01 nov. 2022 12:05:48 UTC
것을 저장합니다 .2022年 11月 01日 星期二 12:06:04 UTC
$x
해당 날짜에 해당하는 에포크 초를 얻는 것은 어렵습니다.
예를 들어 Tue 01 Nov 2022 10:58:08 AM UTC
, GNU 구현에 액세스할 수 있다면 date
운이 좋을 것입니다. 이는 옵션을 통해 인식되는 날짜 형식 중 하나이기 때문입니다 -d
.
그래서:
epoch=$(date -d "$x" +%s)
거기에서 일할 것입니다. 귀하의 date
명령은 GNU 명령이 아닌 것 같지만 GNU는 다음 과 같이 date
사용할 수 있습니다 .gdate
/opt/gnu/bin/date