2013-03-31 2 views
0

얘들 아 나는 내 자신의 형식 사용하여 날짜 시간 문자열로 변환하려고 붙어입니다 :변환 시간

<?php 
require('qs_connection.php'); 
require('qs_functions.php'); 

$sDay = $_POST['sDay']; 
$sMonth = $_POST['sMonth']; 
$sYear = $_POST['sYear']; 
$sHour = $_POST['sHour']; 
$sMin = $_POST['sMin']; 

$eDay = $_POST['eDay']; 
$eMonth = $_POST['eMonth']; 
$eYear = $_POST['eYear']; 
$eHour = $_POST['eHour']; 
$eMin = $_POST['eMin']; 

function num($n){ 
    $n=$n; 
    if ($n<9){ 
     $n="0"."$n"; 
    } 
    else{ 
     $n=$n; 
    } 
    return $n; 
} 
    function month($mt){ 
    switch($mt){ 
     case "Jan": 
      return "01"; 
     case "Feb": 
      return "02"; 
     case "Mar": 
      return "03"; 
     case "Apr": 
      return "04"; 
     case "May": 
      return "05"; 
     case "Jun": 
      return "06"; 
     case "Jul": 
      return "07"; 
     case "Aug": 
      return "08"; 
     case "Sep": 
      return "09"; 
     case "Oct": 
      return "10"; 
     case "Nov": 
      return "11"; 
     case "Dec": 
      return "12"; 
     break; 
    } 
} 
    $startDate = $sYear."-".month($sMonth)."-".num($sDay)." ".num($sHour).":".num($sMin).":00"; 
    $endDate = $eYear."-".month($eMonth)."-".num($eDay)." ".num($eHour).":".num($eMin).":00"; 

    $startDate = date_create_from_format("Y-m-d H:i:s", $startDate); 
    $endDate = date_create_from_format("Y-m-d H:i:s", $endDate); 
    $today = date("Y-m-d H:i:s"); 





    if(($today >($endDate || $startDate)) || ($endDate < ($startDate || $toady))){ 
     echo "Can not save"; 
    } 
    else{ 
     $result = mysql_query("Select votetimeid From votetime ORDER BY votetimeid DESC LIMIT 1"); 
      while ($db_field = mysql_fetch_assoc($result)){ 
       $id = $db_field['votetimeid']; 
      } 
      $id+=1; 

    echo "Start: $startDate <br>Today: $today <br>End: $endDate"; 

    } 
?> 

나는이 오류가 무엇입니까 :

Catchable fatal error: Object of class DateTime could not be converted 
to string in  C:\wamp\www\mvote\admin\settime.php on line 80 
+0

새 메소드를 쓰는 대신에'strtotime'을 사용해 보았습니까? – kero

+0

오타! '$ toady'? –

답변

1

보다는

echo "Start: $startDate <br>Today: $today <br>End: $endDate"; 

시도

echo "Start: {$startDate->format('Y-m-d H:i')} <br>Today: $today <br>End: {$endDate->format('Y-m-d H:i')}"; 

또는 유사합니다. 설명서 : http://www.php.net/manual/en/datetime.format.php

또한 $toady 오타가 있습니다.

부울 연산의 작동 방식에 대한 오해가있는 것 같습니다. if 문은 다음과 같아야합니다 :

if($today > $endDate || $today > $startDate || $endDate < $startDate || $endDate < $today) { 
+0

Thanx @joeframbach – maponda1

+0

왼쪽의 큰 체크 표시가 약간의 사랑을 사용할 수 있습니다 :) –

+0

만약 다른 부분이 작동하지 않는다면 어떻게 올바르게 쓸 수 있습니까? – maponda1