2014-02-10 3 views
0

날짜가 YYYYMMDD 인 파일이 있습니다. 나는 줄리안 번호로 현재 날짜와 파일의 날짜 사이의 차이점을 찾고 싶다.두 달력 날짜의 차이

+0

더 자세한 정보가 필요하십니까? 입력, 예상 출력? 지금까지 뭐 했니? –

+0

이것은 제 질문입니다. '특정 파일의 경로를 확인하십시오. 파일 형식은 ABCD20131218225516.txt와 같습니다 (날짜 및 시간에 파일 이름이 추가됩니다). (Jan \ n Feb \ n Mar 3 ...과 같은) 세부 사항을 가진 달 파일을 만드십시오. 모든 파일의 파일 날짜 (20131218)를 가져 와서 Julian의 현재 날짜와의 차이점을 찾고 파일 날짜 월의 달 파일에 차이 번호를 추가합니다. 출력은 다음과 같아야합니다. 1 월, 124, 345 – Sathish

+0

처음 두 단계를 완료했습니다. 필자는 현재 날짜와 파일 이름의 날짜 사이의 차이점을 알아야하며 출력은 줄리아 언이어야합니다. – Sathish

답변

0

출력 형식 요구 사항을 이해할 수 있는지 잘 모르겠습니다. 날짜는 줄리아 (년 번호 및 일 수) 일 수 있지만 차이점은 ' 줄리안 '형식입니다.

나는 어떻게 쉘에서 바이올린을 켜는 일을 할 수있는 좋은 생각을 가지고 있지 않기 때문에 나는 펄 리조트 것 :

perl -e 'use POSIX qw(mktime); sub d2ts { return POSIX::mktime(0, 0, 0, 
substr($_[0],6,2),substr($_[0],4,2)-1,substr($_[0],0,4)-1900); } print 
int((time-d2ts($ARGV[0]))/86400), "\n";' '20131218' 

==> 54 

또는

perl -e 'use POSIX qw(mktime); sub d2ts { return POSIX::mktime(0, 0, 0, 
substr($_[0],6,2),substr($_[0],4,2)-1,substr($_[0],0,4)-1900); } print 
int((d2ts($ARGV[1])-d2ts($ARGV[0]))/86400), "\n";' '20131218' '20140210' 

==> 54 

첫 번째는 하나를 비교하는 것입니다 두 번째는 주어진 2 개의 날짜입니다.

아마도 TZ = UTC를 설정해야하거나 여름/겨울철 스위치를 놓고 하루를 잃을 수도 있습니다.