2017-10-17 6 views
-2

바닐라 PHP로 작성된 고대 시스템에서 작업하고 있습니다.시간이 느린 PHP 타임 스탬프

시간 변환 문제가 있습니다. 아래의 예에서

, 나는이 서로 반영하기 위해 타임 스탬프와 "꽤 날짜"모두 기대 : 서버에서이 스크립트를 실행하는 경우에는

<?php 
date_default_timezone_set('Europe/London'); 

$timestamp = 1509062400; //Friday, October 27, 2017 12:00:00 AM 

$date = new DateTime(); 
$date->setTimezone(new DateTimeZone('Europe/London')); 
$date->setTimestamp($timestamp + 3601); 
$date->setTime(0, 0); 

echo $date->getTimestamp(); 
echo '<br/>'; 
echo $date->format('Y-m-d H:i:s'); 

을, 결과는 다음과 같습니다

Timestamp: 1509058800 
Pretty Date: 2017-10-27 00:00:00 

예쁜 날짜는 10 월 27 일 00:00을 나타내지 만, 시간 기록은 (epochconvertor에 따라) 26th Oct 23:00을 나타냅니다.

타임 스탬프가 왜 느린 지 잘 모르겠습니다. 누구든지 도와 줄 수 있습니까?

+1

'setTime (0, 0)'은 시간을'00 : 00 : 00'으로 설정합니다. – Barmar

+0

그게 내가 원하는거야 ...? – James

+0

'$ date-> setTimestamp ($ timestamp + 3601);의 목적은 무엇인가? 다음 줄이 완전히 재정의한다면? – ceejayoz

답변

6

런던에있는 경우 타임 스탬프는 영국령 서머 타임이 될 가능성이 큽니다. 신기원은 GMT가 될 것입니다. BST는 GMT보다 1 시간 앞서 있습니다.

+0

Derp; 고맙습니다! – James