2
이것을 알아내는 데 도움이되기를 바랍니다. 2 일 간의 영업일/시간/분을 계산해야합니다. 나는 현재 Date :: Manip을 이것을 사용하고 있지만, 그것은 단지 나에게 일을주는 것처럼 보인다. 그러나 시간과 분은 아니다.날짜 차이, 영업일/시간/분?
는 여기에 내가 뭘 찾았는지의 조각입니다 :
use Date::Manip;
Date_Init('WorkDayBeg = 09:00', 'WorkDayEnd = 17:00');
..
my $today_date = &ParseDate("today");
my $parsedStart = &ParseDate("2012-01-26 13:32:49.000");
..
my $err;
my $delta = DateCalc(ParseDate($parsedStart),$today_date,\$err,3);
..
print "Raw Delta: $delta\n";
$delta = Delta_Format($delta,2,'%st');
print "Formated Delta: $delta\n";
오늘은 2012-01-26입니다. 내가 스크립트를 실행하면 결과는 다음과 같습니다 $ parsedStart 경우
는Raw Delta: +0:0:+0:0:0:0:0
Formated Delta: 0.00
... 또 다른 예를 들어, 2011-11-22 18 : 50 : 24.000, 내가 얻을 :
Raw Delta: +0:0:+0:+46:0:0:0
Formated Delta: 3974400.00
무엇 나는 또한 시간과 분을 얻으 려하지 않고 있는가?
감사합니다.
저에게 잘 맞습니다 (버전 6.30). 어떤 버전을 사용하고 있습니까? – Toto
나에게도 효과적이다. 6.30과 5.56 모두 사용 가능하다. 제가 주목 한 차이는 5.56에 있습니다. '오늘'은 '지금'을 의미하고 '어제'는 '24 시간 전'을 의미합니다. 6.30에서'오늘'은 "이 날 자정"을 의미하고 "어제"는 "이전 날의 자정"을 의미합니다. 이것은 혼란스러운 일이 될 수 있습니다. – Schwern
6.25 (회사 규제 버전)를 사용하고 있습니다. 사람들이 당신에게 효과가 있다고 말할 때, 내가 얻은 것만이 아니라 시간과 분이 돌아 오는 것을 의미합니까? – Namuna