시간형식 변환함수문의 정보
시간형식 변환함수문의본문
현재 엑셀파일을 입력하여 디비에 저장하고있습니다.
엑셀에서 받아오는 날짜형식은
8:00:00 AM
디비에 입력해야하는 날짜형식은
2012-11-15 08:00
==========================================================================================
for( $i=2; $i<=$data->sheets[0]['numRows']; $i++ )
{
$num=$i-1;
$play_type = $data->sheets[0]['cells'][$i][1];
if( strlen(trim($play_type)) == 0 ) continue;
$play_kind = $data->sheets[0]['cells'][$i][2];
$play_time = date('Y-m-d H:i:s',strtotime(str_replace("/","-",$data->sheets[0]['cells'][$i][3])));
$play_name = $data->sheets[0]['cells'][$i][4];
=============================================================================================
str_replace("/","-" 를 삭제하니 디비에입력은됨니다만 무조건오늘날자로 더해주는군요.
엑셀에서 날짜를받아올때
9:30:00 PM
10:30:00 PM
11:30:00 PM
11:59:00 PM
01:30:00 AM <-------- 날짜변함
04:30:00 AM
06:30:00 AM
에서
오후 11:30분 까지 오늘날짜를앞에붇여주고 다음날이 01:30:00 AM 는
오늘날자에서 +1일 을해주어야되는데여 부탁드립니다.
엑셀에서 받아오는 날짜형식은
8:00:00 AM
디비에 입력해야하는 날짜형식은
2012-11-15 08:00
==========================================================================================
for( $i=2; $i<=$data->sheets[0]['numRows']; $i++ )
{
$num=$i-1;
$play_type = $data->sheets[0]['cells'][$i][1];
if( strlen(trim($play_type)) == 0 ) continue;
$play_kind = $data->sheets[0]['cells'][$i][2];
$play_time = date('Y-m-d H:i:s',strtotime(str_replace("/","-",$data->sheets[0]['cells'][$i][3])));
$play_name = $data->sheets[0]['cells'][$i][4];
=============================================================================================
str_replace("/","-" 를 삭제하니 디비에입력은됨니다만 무조건오늘날자로 더해주는군요.
엑셀에서 날짜를받아올때
9:30:00 PM
10:30:00 PM
11:30:00 PM
11:59:00 PM
01:30:00 AM <-------- 날짜변함
04:30:00 AM
06:30:00 AM
에서
오후 11:30분 까지 오늘날짜를앞에붇여주고 다음날이 01:30:00 AM 는
오늘날자에서 +1일 을해주어야되는데여 부탁드립니다.
댓글 전체
$dd=$data->sheets[0]['cells'][$i][3];
if(strpos($dd,'AM') ) $ddd=strtotime("$g4[time_ymd] $dd +1 day");
else $ddd=strtotime($dd);
echo date("Y-m-d H:i:s", $ddd);
if(strpos($dd,'AM') ) $ddd=strtotime("$g4[time_ymd] $dd +1 day");
else $ddd=strtotime($dd);
echo date("Y-m-d H:i:s", $ddd);
아래처럼햇는데 AM이 다음날자로바귀지가앟네요...
$dd=$data->sheets[0]['cells'][$i][3];
$play_time = date('Y-m-d H:i:s',strtotime($data->sheets[0]['cells'][$i][3]));
if(strpos($dd,'AM') ) $ddd=strtotime("$g4[time_ymd] $dd +1 day");
else $ddd=strtotime($dd);
echo date("Y-m-d H:i:s", $ddd);
$play_name = $data->sheets[0]['cells'][$i][4];
$dd=$data->sheets[0]['cells'][$i][3];
$play_time = date('Y-m-d H:i:s',strtotime($data->sheets[0]['cells'][$i][3]));
if(strpos($dd,'AM') ) $ddd=strtotime("$g4[time_ymd] $dd +1 day");
else $ddd=strtotime($dd);
echo date("Y-m-d H:i:s", $ddd);
$play_name = $data->sheets[0]['cells'][$i][4];
으이쿠 php를 전혀 모르고 php 프로그래밍을 하는가요?
echo 는 제대로 변환 되는지 확인해보라고 넣은 것입니다
아래처럼 하세요
$dd=$data->sheets[0]['cells'][$i][3];
if(strpos($dd,'AM') ) $ddd=strtotime("$g4[time_ymd] $dd +1 day");
else $ddd=strtotime($dd);
$play_time = date("Y-m-d H:i:s", $ddd);
$play_kind = $data->sheets[0]['cells'][$i][2];
$play_name = $data->sheets[0]['cells'][$i][4];
echo 는 제대로 변환 되는지 확인해보라고 넣은 것입니다
아래처럼 하세요
$dd=$data->sheets[0]['cells'][$i][3];
if(strpos($dd,'AM') ) $ddd=strtotime("$g4[time_ymd] $dd +1 day");
else $ddd=strtotime($dd);
$play_time = date("Y-m-d H:i:s", $ddd);
$play_kind = $data->sheets[0]['cells'][$i][2];
$play_name = $data->sheets[0]['cells'][$i][4];
열심히배우는중입니다.ㅎㅎ
알려주신대로해도 AM으로 들어가는건 변환이안되네요...ㅜ.ㅜ
알려주신대로해도 AM으로 들어가는건 변환이안되네요...ㅜ.ㅜ
안되요? 테스트 화일을 하나만들어 아래 코드를 넣고 실행해보세요
제대로 나온다면 액셀자료 형식이 다르다는 말일테죠
test.php
<?
include "_common.php";
$dd="8:00:00 AM";
if(strpos($dd,'AM') ) $ddd=strtotime("$g4[time_ymd] $dd +1 day");
else $ddd=strtotime($dd);
echo date("Y-m-d H:i:s", $ddd);
?>
제대로 나온다면 액셀자료 형식이 다르다는 말일테죠
test.php
<?
include "_common.php";
$dd="8:00:00 AM";
if(strpos($dd,'AM') ) $ddd=strtotime("$g4[time_ymd] $dd +1 day");
else $ddd=strtotime($dd);
echo date("Y-m-d H:i:s", $ddd);
?>