posted by 빠담아빠다 2016. 3. 6. 01:10

2013/06/21 21:51 이전자료


?(물음표) 부분에 오늘 날짜를 넣으면 오늘에 해당하는 주가 나옵니다.

 

 

 

$weekNumber = POSIX::strftime("%V",  ??? );

 

 

 

ex)

 

 

#!/usr/bin/perl

 

use Time::Local;
use POSIX qw/strftime/;

##today
 $today_date=strftime "%Y%m%d", localtime;

 

$weekNumber=POSIX::strftime("%V", $today_date);

$imsiNumber=POSIX::strftime("%V", 20130108);

 

print "today date = $today_date\n";

print "today week number = $weekNumber\n\n";

 

print "imsi date = 20130108\n";

print "imsi week number = $imsiNumber\n";

 

===========실행결과===================

today date = 20130621

today week number = 25

 

imsi date = 20130108

imsi week number = 2

 

오늘이 21일이니까 6월 21일은 25주라고 하네요.

 

=====================================================

 

생각중1년은 몇주?

 

1. 1년은 365일 이니까 365/7 = 52.142857142857..주?

2. 소숫점 첫째자리에서 반올림해서 52.1주?

3. 소숫점 첫째자리에서 버려서 52주?

 

정답은 52주.

국제 표준화 기구(ISO)가 정한 '날짜 및 시각의 표기'에서 정한 날짜에 대한 규정은 월요일을 한주의 시작으로 규정하고 있습니다.

우리나라도 달력에는 ISO와 동일한 규정을 적용하기로 정함.

그러므로 우리나라의 한주의 시작은 월요일.

한주의 기준은 월요일부터 일요일로 이어지는 기간에 몇일이 포함되는가 입니다.

즉, 최소 일주일 가운데 나흘이상 포함이 되었다면 해당주로 본다는것.

예를들어 월요일부터 시작해 일요일까지 중에 '월화수목' 이거나 '목금토일'이 포함되면 한주로 친다.

달력은 끝없이 이어지므로 숫자가 적은 쪽에서 나머지 날짜를 빌려와 계산을 한다.

 

예시

2013년 12월

월 화 수 목 금

22 23 24 25 26 27 28

29 30 31

 

2013년 12월 30일은 몇주일까? 마지막이니 52주겠거니?

23일부터 29일까지가 12년 52주이다.

그렇다면 53주? 52주까지라고 했지않냐.

 

위의 스크립트를 돌려보면 1주차로 나온다.

왜냐 월요일을 포함한 그달의 요일은 '월화'밖에 없다.

그러므로 2014년 1월 1,2,3,4,5와 같이 1월의 첫재주가 된다.

 

예시2

2010년 12월

월 화 수 목 금

19 20 21 22 23 24 25

26 27 28 29 30 31

 

12월 27일은 몇주의 시작일까?

이제 보면 알겠지 52주차.

월화수목금 이 붙어있고. 돌려봐도...

더이상 말이 길어지면 안될거 같습니다...

 

계산식에서 알아야할 상식인것 같습니다.

슈퍼맨이상

 

posted by 빠담아빠다 2016. 3. 6. 01:08

2013/06/21 21:39 이동자료


#!/usr/bin/perl

use Time::Local;
use POSIX qw/strftime/;

##today
 $today_date=strftime "%Y%m%d", localtime;

 

 

%Y = 2013     (년)

%m = 06        (월)

%d = 21        (일)

%M = 30       (분)



---------------------------------------------------


추가 :

Time::Local 모듈 설치 하지 않아도 리눅스 명령어에서 충분히 가능