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"); 

Что лучше?

+0

Возможный дубликат [как преобразовать d ate и time to timestamp в php?] (http://stackoverflow.com/questions/17585632/how-to-convert-date-and-time-to-timestamp-in-php) –

+1

Прекратить ссылаться на мой ответ как дубликат один ... его не ... я хотел знать, какой из них лучше ... – Saswat

ответ

0

Также можно сделать это с:

list($y, $m, $d) = explode('-', $given_date); 
$midnight = mktime(0, 0, 0, $m, $d, $y); 
10

Я предпочел бы более ОО подход вместо возиться со строками:

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

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

'echo $ date-> getTimestamp();' OP хочет метку времени. Но я все еще не понимаю, что «лучше». Быстрее ? Удобочитаемый ? – Debflav

+0

@Debflav «лучше» в этом подходе состоит в том, что даты обрабатываются как объекты DateTime, а не как строки, а класс 'DateTime' дает больше контроля за расчетом дат и времени. Для меня это пока неясно, какая «полночь» действительно нужна, следующая с этого момента или прошлое с определенной даты, которая на самом деле принадлежит к предыдущему дню. Запуск к этому и, вероятно, некоторые проблемы с часовым поясом, а также вы столкнулись со строками. –

+0

«Лучше» было больше для ОП. Я согласен с вами и использованием объекта DateTime, возможно, ваше объяснение может быть в вашем ответе. – Debflav

0

Используя статический метод createFromFormat из DateTime вы можете заставляют временные части сбрасываться на 0 с помощью '|':

$date = DateTime::createFromFormat('Y-m-d|', $given_date); 
echo $date->format('Y-m-d H:i:s'); 
Смежные вопросы