2016-10-28 3 views
0

DATE TIME 열을 더 읽기 쉬운 시간 (예 : 9:51)으로 출력하는 날짜 기능이 있습니다. 그러나 내 날짜가 읽고있는 시간대는 내 서버가있는 곳으로 CST, US입니다. EST를 읽을 수있는 방법이 있습니까? 심지어 어떤 지역의 정확한 시간을 표시 할 수 있습니까?날짜 기능을 올바른 시간대로 설정하십시오.

function fixDate($strDateTime) { 

    $strFormat = 'M, j, Y'; 
    $strFormatTime = '\a\t g:ia'; 
    $intTimeStamp = strtotime($strDateTime); 
    $strDate = date($strFormat, $intTimeStamp); 
    $strTime = date($strFormatTime, $intTimeStamp); 

    if($strDate == date($strFormat)) { 
     return "Today " . $strTime; 
    } 
    elseif($strDate == date($strFormat, strtotime('yesterday'))) { 
     return "Yesterday " . $strTime; 
    } 
    else { 
     return $strDate . " " . $strTime; 
    } 
} 
+1

[DateTime] (http://php.net/manual/es/class.datetime.php) 및 [DateTime-> setTimezone] (http://php.net/manual/ es/datetime.settimezone.php) 당신은 문자열 대신에'DateTime' 객체를받을 수 있고 당신의 날짜를 "prettifying"하기 전에 그것을 클라이언트'DateTimeZone'로 변환 할 수 있습니다. 이것은 클라이언트 측에서 더 쉽지만 AFAIK 서버에서 수행 될 수 있습니다. – jorgonor

답변

0

음이 같은 뭔가 설정 파일이나 함수 시간대를 설정할 수 있습니다 사용하여 봅니다 :

당신을 위해
date_default_timezone_set('America/Toronto'); //whatever timezone you have 

추측은은 다음과 같습니다

date_default_timezone_set('America/New_York'); 
0

AJAX를 사용하여이를 수행 할 수 있습니다. 이 코드는 클라이언트를 기준으로 시간대를 자동으로 감지하고 현재 시간을 표시합니다.

메인 페이지에 추가하십시오. <div id="currentTime"></div> 현재 시간을 표시하는 데 사용합니다.

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"> 
</script> 
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.4/jstz.min.js"> 
</script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
    var zoneDetect = jstz.determine(); 
    var timezone = zoneDetect.name(); 
    $.get("cookie_set.php", {timezone: timezone}, function(result){ 
     $('#currentTime').html(result); 
    }); 
    }); 
</script> 

<div id="currentTime"></div> 

다른 페이지를 만들려면 time_set.php. 다음 코드를 추가하십시오. 이 페이지는 시간을 검색하는 데 사용됩니다.

<?php 
date_default_timezone_set($_GET['timezone']); 
function fixDate($strDateTime) { 
    return $strDateTime; 
} 
echo fixDate(date('Y-m-d h:i:s')); 
?> 
관련 문제