PHP에서 날짜 및 시간 마사지에 접근하는 데는 여러 가지 방법이 있습니다. 나는 대개 현지 시간 만 다룬다. 오늘 저는 UTC에서 일해야합니다. 내가 API에 대해 질의하고GMT 오프셋에 사용할 php 날짜 및 시간 도구
, 그들은 임의의 기록에 대해 말해주는 데이터는 다음과 같습니다 생성 : 2009년 (목)
'UTC 기록 작성 시간'으로 문서화 21시 44분 49초 0000 * 6월 18일을utc_offset : -28800 * 사용자 간 차이점
데이터를 로컬 시간대에 제출 한 시간과 날짜를 사용자에게 표시하려면 간단한 문자열로 변환해야합니다.
나는 캘리포니아의 경우 위,로 변환, 믿고 예를 들면 다음과 같습니다. 6 월 목요일 18 2009 오후 2시 44분 49초
내 목표는 (내가 지금까지 전달할 수있는 시간 값을 얻을 수 있습니다) "예쁜"형식으로 쉽게 서식을 지정할 수 있습니다.
위의 생성 시간을 초에서 초로 변환하고 오프셋을 더한 다음 date()에 전달하는 것만 큼 간단합니까? 어떤 gothcha가 조심해?
$created_time = 'Thu, 18 Jun 2009 21:44:49 +0000';
$utc_offset = -28800;
$seconds = strtotime($created_time);
$localized_time = $seconds + $utc_offset;
echo date(DATE_RFC822, $localized_time);
감사
PHP는 자동으로 당신을 위해 일을해야
감사합니다. DateTime 객체 설명서가 꽤 깊다. 나는 검토 할 것이다. 그래도 나는 오프셋을 제대로 처리하는 방법을 알고있다. 문서에서 $ created_time에 대한 UTC 값이 무엇인지 알려드립니다. 유일한 다른 날짜/시간 값은 오프셋입니다. 사용자 데이터는 전 세계에서 온 것입니다. 오프셋은 그들이 속한 영역에 따라 달라집니다. 개체를 초 단위로 이동하고 오프셋을 더한 다음 예쁜 문자열로 변환한다고 가정합니다. –
아이디어는 DateTime과 strtotime과 함께 사용됩니다. 표준 시간대를 표준 형식으로 지정하면이 표준 시간대가 선택되어 사용자 지정된 시간대로 자동 변환됩니다. 다른 방법 (두 번째 주석 달기 참조)은 기본 시간대를 임시로 변경하거나 DateTime 객체에 DateTimeZone 객체를 지정하는 것입니다. – Evert