2014-12-31 2 views
0

나는 이제 내가 주어진 날짜의 자정 타임 스탬프를 얻으려면이특정 제공 날짜의 자정의 타임 스탬프를 받기

$given_date = '2014-12-25'; //Y-m-d format 

처럼 말할 수있는 날짜가, 그래서 나는이 방법

$midnight = strtotime(date('Y-m-d',$given_date).' 00:00:00'); 
를하고있는 중이 야

내가 제대로하고 있니?

또는 다음과 같이 사용할 수 있습니까?

$midnight = strtotime("midnight $given_date"); 

어느 것이 더 낫습니까?

$date = new DateTime($given_date); 
$date->setTime(0,0,0); 

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

가능한 복제본 [d를 변환하는 방법 먹고 시간은 PHP에서 타임 스탬프로?] (http://stackoverflow.com/questions/17585632/how-to-convert-date-and-time-to-timestamp-in-php) –

+1

복제본으로 내 대답을 참조하는 중지 하나 ... 그게 아니라 ... 어떤 것이 더 좋은지 알고 싶었다. ... – Saswat

답변

0

이 함께 할 수도 있습니다 '|'를 사용하여 시간 부품을 0으로 재설정하십시오.

$date = DateTime::createFromFormat('Y-m-d|', $given_date); 
echo $date->format('Y-m-d H:i:s'); 
10

:

+0

'echo $ date-> getTimestamp();'OP는 타임 스탬프를 원한다. 그러나 나는 여전히 "더 낫다"는 것을 얻지 못한다. 빨리? 읽을 수 있습니까? – Debflav

+0

@Debflav는이 방법에서 날짜가 "DateTime"개체가 아닌 문자열로 처리되고 DateTime 클래스가 날짜와 시간 계산을보다 잘 제어 할 수 있다는 점에서이 방법이 "더 좋습니다"라는 것을 의미합니다. 나에게는 아직도 "자정 (자정)"이 실제로 원하고, 그 다음부터 또는 과거의 특정 날짜가 과거에 속한 것인지 아직 명확하지 않다. 이것과 아마도 약간의 시간대 문제로도 실행하면 문자열로 엉망이됩니다. –

+0

"더 좋다"는 OP가 많았습니다. 나는 당신과 DateTime 객체의 사용에 동의한다. 어쩌면 당신의 설명이 당신의 대답 일 수도있다. – Debflav

0

을 할 수있는 날짜 시간에서 정적 메소드 createFromFormat를 사용 : 나는 문자열 주변에 바이올린을 켜는 대신 더 OO 접근 방식을 선호

list($y, $m, $d) = explode('-', $given_date); 
$midnight = mktime(0, 0, 0, $m, $d, $y); 
관련 문제