2013-03-22 3 views
2

PHP를 사용하여 시간 (예 : "15:00")을 UNIX 타임 스탬프로 변환 할 수 있습니까?시간 (예 : 15:00)을 UNIX 타임 스탬프로 변환

불행하게도,이 데이터의 내 소스는 시간이 관련 시간대 내가 알고있는 날짜/시간 데이터 (날짜 등)의 나머지

을 포함하지 않기 때문에 이것은 할 수 있을까? 이 작업을 수행 할 기존 기능입니까? 사전에

감사

+1

Unix 타임 스탬프는 1970 년 1 월 1 일 이후의 초 수이므로 Unix 타임 스탬프로 시간을 변환 할 수 없습니다. – jeroen

+2

날짜 없음은 시간 소인이 없음을 의미합니다 –

+2

당신이 제공 할 수있는 유일한 방법은 현재 날짜/오늘 (예 : 오늘) 중에 제공되는 시간이 15:00이라는 가정하에 있습니다. 그렇지 않으면 작동하지 않습니다. – nickhar

답변

0

DateTime::createFromFormat 당신을 위해 일할 수도 있습니다. @ceejayoz는 더 많은 데이터가없는 안정적인 타임 스탬프를 만들 수 없다고 지적합니다. 다음 예제에서는 모든 날짜가 현재 날짜와 관련되어 있다고 가정합니다.

<?php 
$d = DateTime::createFromFormat('H:i', '15:00', new DateTimeZone('Europe/Berlin'); 
echo $d->getTimestamp(); 
+1

시간이 현재 날짜를 의미한다고 생각할 수 있으므로 완벽하게이 시나리오로 작동합니다. – Salem874

-2

아니, 당신은 할 수 없습니다 날짜의 아이디어는 유닉스 타임 스탬프에 존재한다. Unix 타임 스탬프는 1970 년 1 월 1 일 이후의 초 수입니다.

PHP는 상당히 forgiving이므로 strtotime 함수를 사용할 수 있습니다.

strtotime으로는 ("15:00")

PHP는 현재 날짜/오늘 가정합니다.

자세한 내용은 다음 링크를 참조하십시오. 날짜없이

http://php.net/manual/en/function.strtotime.php

+1

날짜가 없어도. – ceejayoz

+1

Ỳeah, 나는 PHP가 자동으로 현재의 날짜를 사용한다고 가정하고, 나의 가정이 틀렸다는 것을 발견하기 위해서도 이것을 시도했다. 그러므로이 질문. – Salem874

1

은 정확하게이 작업을 수행 할 수 없습니다.

일광 절약 시간제가 적용되는 지역 (예 : 15:00)은 날짜에 따라 10:00 UTC 또는 9:00 UTC에 대응할 수 있습니다.

+0

또는 실제로 GMT/BST. – nickhar

관련 문제