Ubuntu Mate 20.04에서 미래 날짜를 신기원 번호로 변환하려고 합니다.
그래서 저는 다음 코드를 작성하기로 결정했습니다.
daysAmount="10"
endDate=$(date +"%b %_d %Y" -d "+$daysAmount days")
epochNum=$(date -d "$endDate" +%s)
처음 두 줄은 잘 작동하지만 아무 것도 얻지 못합니다 epochNum=
.
$(date)
내가 가지고 있는 것처럼 내부에 다른 변수를 작성해도 괜찮나요 ? 그렇지 않다면 어떻게 해야 이 작업을 수행할 수 있습니까?
나도 시도했지만 endDate=$(date +"%b %_d %Y" -d "+$daysAmount days" +%s)
그것도 효과가 없었습니다.
답변1
임시 로케일을 사용하여 명령을 실행할 수 있습니다. 이렇게 하면 문제가 해결됩니다.
daysAmount="10"
endDate=$(LC_ALL=C date +"%b %_d %Y" -d "+$daysAmount days")
epochNum=$(LC_ALL=C date -d "$endDate" +%s)
답변2
작동하도록 관리하세요.
에포크 번호로 변환하기 전에 날짜 언어를 확인하세요. 마운트 이름이 "date" 명령의 예처럼 미국 알파벳과 다른 경우:
1.11.2021 (пн) 14:47:59 EET
변환이 작동하지 않습니다.
"날짜"가 다음과 같이 표시되는 다른 시스템(미국 알파벳):
Mon Nov 1 14:47:45 EET 2021
코드가 완벽하게 작동하고 있었어요
다른 언어를 사용하는 컴퓨터의 실제 예제는 다음을 참조하세요. https://unix.stackexchange.com/a/675661/499362