제목 | 시간 계산 관련... | ||
---|---|---|---|
글쓴이 | 다니엘SEO | 작성시각 | 2012/06/07 09:49:34 |
|
|||
아래와 같은 유닉스 타임 값 두개가 있습니다.//작업시작시간 $st = human_to_unix('2012-06-04 15:00:00'); //작업종료시간 $et = human_to_unix('2012-06-04 16:05:00'); 종료 시간에서 시작시간을 뺍니다.
//작업시간계산 $work = $et - $st; 시간으로 표시하기 위해 나누기 3600합니다.
$work_h = $work/3600; 그러면 $work_h의 값은 1.0833333333333 이 나옵니다.
여기서 문제가 시작 됩니다...!!!;;; 1.0833333333333 값을 다시 00:00 식으로 바꿔줘야 하는데요... 아래와 같은 계산식을 사용했습니다. preg_replace('/\.\d+/e',"':'.sprintf('d',$0*60)", $work_h).':00'; 위의 공식들로 보면 01:05:00 이 나와야 하는데...01:04:00 이 나오네요... 뿐만 아니라 다른 시간 대에서도 계속 1분~3분씩 차이가 납니다ㅜㅜ 도와주세요 ㅠ.ㅠ |
|||
다음글 | $this ->function 사용 방법에 대해서 (4) | ||
이전글 | hmvc에서 모듈 생성할 때 데이터를 넘겨줄려면? (2) | ||
한대승(불의회상)
/
2012/06/07 10:29:00 /
추천
0
그냥 머리쓰기 싫어서 간단하게 했습니다.
|
한대승(불의회상)
/
2012/06/07 10:33:04 /
추천
0
삽집하고 메뉴얼을 뒤져 보니... ㅡㅡ;;
echo timespan($st, $et);http://www.codeigniter-kr.org/user_guide_2.1.0/helpers/date_helper.html 포맷은 lang 팩을 손 보시면 될듯.. |
다니엘SEO
/
2012/06/07 10:58:01 /
추천
0
아...이런....
timespan 생각을 못했네요...역시...사람은 창의력이 ㅠ.ㅠ 이미 timespan을 한글로 바꿔서 다른곳에 사용하고 있으니... 따로 하나 만들어서 사용해야겠네요!! 감사합니다 ^^ |
변종원(웅파)
/
2012/06/07 11:17:24 /
추천
0
불상님 초보처럼 왜 그러세요? ^^
1. 레퍼런스(매뉴얼) 2. 검색 |
한대승(불의회상)
/
2012/06/07 11:23:25 /
추천
0
웅파// 그러게요.. 샘플 만들때 봤던 기억이 있엇는데... ㅡㅡ;;
|
변종원(웅파)
/
2012/06/07 11:42:30 /
추천
0
불의회상/ 삼초병이신가요? ^^
|
한대승(불의회상)
/
2012/06/07 12:01:18 /
추천
0
웅파// 일초병일지도.. ㅡㅡ;;
|
다니엘SEO
/
2012/06/07 13:40:25 /
추천
0
아....잘 못 됐네요...ㅠ.ㅠ
1.0833333333333 라는 숫자 자체를 00:00:00 으로 만들어 줘야 하는 문제였습니다...;;; 그래서 자꾸 시간이 틀어 지고 있구요...ㅜㅜ |
한대승(불의회상)
/
2012/06/07 13:56:36 /
추천
0
ㅎㅎㅎ 잘 이해가 안가는데요. ^^
|
다니엘SEO
/
2012/06/07 14:04:56 /
추천
0
DB에 저장 되는 값이
$work = $et - $st; $work_term = $work / 3600; 해서 나온 1.0833333333333 라는 값을 1.08식으로 저장합니다. 출력 화면에는 "총 작업 시간: 1.08시간" 식으로 표시하고 있구요. 이 1.08이라는 값을 가지고 다시 00:00:00 식으로 만들어 줘야 하는데...시간이 조금씩 틀어지더라 하는 문제였죠 ㅠ.ㅠ |
한대승(불의회상)
/
2012/06/07 14:12:27 /
추천
0
ㅎㅎㅎㅎ 그런거군요..
round($work_h * 3600, 0);로 해결 가능할듯.. ^^ 제가 첨에 삽질한 코드하고 같이 쓰세요. ^^ |